forked from OSchip/llvm-project
c1b1729b66
Currently, all AST consumers are located in the Frontend library, meaning that in a shared library configuration, Frontend has a dependency on Rewrite, Checker and CodeGen. This is suboptimal for clients which only wish to make use of the frontend. CodeGen in particular introduces a large number of unwanted dependencies. This patch breaks the dependency by moving all AST consumers with dependencies on Rewrite, Checker and/or CodeGen to their respective libraries. The patch therefore introduces dependencies in the other direction (i.e. from Rewrite, Checker and CodeGen to Frontend). After applying this patch, Clang builds correctly using CMake and shared libraries ("cmake -DBUILD_SHARED_LIBS=ON"). N.B. This patch includes file renames which are indicated in the patch body. Changes in this revision of the patch: - Fixed some copy-paste mistakes in the header files - Modified certain aspects of the coding to comply with the LLVM Coding Standards llvm-svn: 106010 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
Makefile | ||
README.txt | ||
main.cpp |
README.txt
This is an example of Clang based interpreter, for executing standalone C programs. It demonstrates the following features: 1. Parsing standard compiler command line arguments using the Driver library. 2. Constructing a Clang compiler instance, using the appropriate arguments derived in step #1. 3. Invoking the Clang compiler to lex, parse, syntax check, and then generate LLVM code. 4. Use the LLVM JIT functionality to execute the final module. The implementation has many limitations and is not designed to be a full fledged C interpreter. It is designed to demonstrate a simple but functional use of the Clang compiler libraries.