This folder contains the Infer frontend plugin to the clang compiler used to process the syntax of source files and export AST information to the Infer frontend.
-
libtooling : frontend plugins (currently a clang-to-json AST exporter),
-
clang-ocaml : OCaml libraries to process the JSON output of frontend plugins,
The plugin requires recent version of the clang compiler, re-compiled from source.
To compile and use the required version of clang, please run ./clang/setup.sh.
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 test
should 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 Makefile.config
.
Infer is MIT-licensed.