Plugins to clang-analyzer and clang-frontend
It contains frontend plugins to the clang compiler to process the syntax of source files directly to accomplish more general tasks; specifically, we have developed a clang-to-ocaml bridge to make code analyses easier.
The current version of the plugins requires recent version of the clang compiler, re-compiled from source. Clang source which is used by this project can be found in
General instructions to compile clang can be found here: http://clang.llvm.org/get_started.html
To compile and use the required version of clang, please run ./clang/setup.sh. Using this script should make the variable CLANG_PREFIX unnecessary to compile the plugin.
Caveat: - Because of the nature of C++, clang and the plugins need to be compiled with the exact same C++ libraries. - Also, the default stripping command of clang in release mode breaks plugins.
Once the target compiler is installed,
make testshould run the unit tests.
OCaml users may also run:
make -C clang-ocaml test #requires proper ocaml libraries, see included clang-ocaml/README
Additional configuration options are available in
The plugins are MIT-licensed.