This is a simple example demonstrating how to use clang's facility for providing AST consumers using a plugin. You will probably need to build clang so that it exports all symbols (disable TOOL_NO_EXPORT in the tools/clang Makefile). Once the plugin is built, you can run it using: -- $ clang -cc1 -load path/to/PrintFunctionNames.so -plugin print-fns some-input-file.c --