in LLVM, we have LLVMContext , which is the storage unit, and we have llvm::Module , in which new characters (functions and types) are built.
my question; what is the correct llvm abstraction for compilation? is Module ? or is it really intended for a larger volume, that is: the goal of a shared library
It seems to me that the compilation unit should satisfy the result "all or nothing"; either it compiles all its content without errors, or there are errors, and it needs to be fixed and created again before any characters in CU can be used. In my head, this is a definition of what a compilation unit should represent
if a module is the right abstraction for CU, how do you represent the characters in other (correctly compiled) Module objects for a new module that needs to be built so that it can find them? Do I need to add ads or is there any other way to do this?
a dot in the corresponding line in clang could be of great help
c ++ compilation llvm llvm-clang incremental-compiler
lurscher Mar 23 2018-12-23T00: 00Z
source share