llvm-project/clang/lib/Checker
Daniel Dunbar c1b1729b66 Break Frontend's dependency on Rewrite, Checker and CodeGen in shared library configuration
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
2010-06-15 17:48:49 +00:00
..
AdjustedReturnValueChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
AggExprVisitor.cpp Improve C++ constructor handling. 2010-04-01 03:47:27 +00:00
AnalysisConsumer.cpp Break Frontend's dependency on Rewrite, Checker and CodeGen in shared library configuration 2010-06-15 17:48:49 +00:00
ArrayBoundChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
AttrNonNullChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
BasicConstraintManager.cpp Split libAnalysis into two libraries: libAnalysis and libChecker. 2010-01-25 04:41:41 +00:00
BasicObjCFoundationChecks.cpp Clean up some more uses of getAs<ObjCInterfaceType>() that Fariborz pointed 2010-05-17 21:00:27 +00:00
BasicObjCFoundationChecks.h Split libAnalysis into two libraries: libAnalysis and libChecker. 2010-01-25 04:41:41 +00:00
BasicStore.cpp Remove extents of dead symbolic regions when RemoveDeadBindings. 2010-05-26 03:27:35 +00:00
BasicValueFactory.cpp Change LazyCompoundVal to a <Store, MemRegion*> pair. We really don't need to 2010-02-05 02:26:30 +00:00
BugReporter.cpp Add raw_ostream operators to NamedDecl for convenience. Switch over all users of getNameAsString on a stream. 2010-04-17 09:33:03 +00:00
BugReporterVisitors.cpp Overhaul the AST representation of Objective-C message send 2010-04-21 00:45:42 +00:00
BuiltinFunctionChecker.cpp Remove #include. 2010-02-25 00:20:28 +00:00
CFRefCount.cpp Update retain-release checker to understand changes to how 'super' is represented 2010-05-21 21:57:00 +00:00
CMakeLists.txt Break Frontend's dependency on Rewrite, Checker and CodeGen in shared library configuration 2010-06-15 17:48:49 +00:00
CallAndMessageChecker.cpp Introduce Type::isStructureOrClassType(), which does the obvious 2010-04-26 21:31:17 +00:00
CallInliner.cpp Use getBody() to get the function definition when the decl referenced is not 2010-02-28 06:39:11 +00:00
CastSizeChecker.cpp CastSizeChecker checks when casting a malloc'ed symbolic region to type T, 2010-05-25 04:59:19 +00:00
CastToStructChecker.cpp Introduce Type::isStructureOrClassType(), which does the obvious 2010-04-26 21:31:17 +00:00
CheckDeadStores.cpp Tweak dead stores checker to not emit a warning when initialization 2010-03-18 01:22:39 +00:00
CheckObjCDealloc.cpp Add clang support for IBOutletCollection. 2010-05-19 17:38:06 +00:00
CheckObjCInstMethSignature.cpp Add raw_ostream operators to NamedDecl for convenience. Switch over all users of getNameAsString on a stream. 2010-04-17 09:33:03 +00:00
CheckSecuritySyntaxOnly.cpp Add raw_ostream operators to NamedDecl for convenience. Switch over all users of getNameAsString on a stream. 2010-04-17 09:33:03 +00:00
CheckSizeofPointer.cpp Move 'LocalCheckers.h' to the 'Checkers' subdirectory. 2010-01-26 22:59:55 +00:00
Checker.cpp Split libAnalysis into two libraries: libAnalysis and libChecker. 2010-01-25 04:41:41 +00:00
CocoaConventions.cpp Reapply r95546, no intended change in performance or functionality. 2010-02-08 18:38:55 +00:00
DereferenceChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
DivZeroChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
Environment.cpp Add support for CXXBoolLiteralExpr. 2010-04-14 06:29:29 +00:00
ExplodedGraph.cpp Split libAnalysis into two libraries: libAnalysis and libChecker. 2010-01-25 04:41:41 +00:00
FixedAddressChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
FlatStore.cpp Remove extents of dead symbolic regions when RemoveDeadBindings. 2010-05-26 03:27:35 +00:00
FrontendActions.cpp Break Frontend's dependency on Rewrite, Checker and CodeGen in shared library configuration 2010-06-15 17:48:49 +00:00
GRBlockCounter.cpp Since we now may have basicblocks with the same block is in different function, 2010-03-23 05:05:02 +00:00
GRCXXExprEngine.cpp Make -analyzer-inline-call not a separate analysis. Instead it's a boolean 2010-05-06 02:59:29 +00:00
GRCoreEngine.cpp Move GRStmtNodeBuilder::MakeNode() out of line. No functionality change. 2010-04-14 06:35:09 +00:00
GRExprEngine.cpp Merge StackAddrLeakChecker and ReturnStackAddressChecker. 2010-06-09 06:08:24 +00:00
GRExprEngineExperimentalChecks.cpp Merge StackAddrLeakChecker and ReturnStackAddressChecker. 2010-06-09 06:08:24 +00:00
GRExprEngineExperimentalChecks.h Split libAnalysis into two libraries: libAnalysis and libChecker. 2010-01-25 04:41:41 +00:00
GRExprEngineInternalChecks.h Merge StackAddrLeakChecker and ReturnStackAddressChecker. 2010-06-09 06:08:24 +00:00
GRState.cpp Remove extents of dead symbolic regions when RemoveDeadBindings. 2010-05-26 03:27:35 +00:00
HTMLDiagnostics.cpp Break Frontend's dependency on Rewrite, Checker and CodeGen in shared library configuration 2010-06-15 17:48:49 +00:00
LLVMConventionsChecker.cpp Refactor the Is{Std,Clang,LLVM}Namespace methods and rename 'isClangAttr' to 2010-05-30 18:05:23 +00:00
MacOSXAPIChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
Makefile Makefiles: Set Clang CPP compiler flags in a single location, instead of scattered throughout the project Makefiles. 2010-06-08 20:44:43 +00:00
MallocChecker.cpp Code cleanup: remove explicit flush() in favor of using the ostream's str() 2010-06-08 22:59:01 +00:00
ManagerRegistry.cpp Split libAnalysis into two libraries: libAnalysis and libChecker. 2010-01-25 04:41:41 +00:00
MemRegion.cpp Discard qualifiers for ElementRegions so that a 'const' doesn't change the lookup semantics 2010-05-27 00:29:00 +00:00
NSAutoreleasePoolChecker.cpp Overhaul the AST representation of Objective-C message send 2010-04-21 00:45:42 +00:00
NSErrorChecker.cpp Add raw_ostream operators to NamedDecl for convenience. Switch over all users of getNameAsString on a stream. 2010-04-17 09:33:03 +00:00
NoReturnFunctionChecker.cpp the big refactoring bits of PR3782. 2010-03-30 20:24:48 +00:00
OSAtomicChecker.cpp Remove stray #include. 2010-02-25 00:20:31 +00:00
ObjCUnusedIVarsChecker.cpp Add clang support for IBOutletCollection. 2010-05-19 17:38:06 +00:00
PathDiagnostic.cpp Reinstate my CodeModificationHint -> FixItHint renaming patch, without 2010-03-31 17:46:05 +00:00
PlistDiagnostics.cpp Break Frontend's dependency on Rewrite, Checker and CodeGen in shared library configuration 2010-06-15 17:48:49 +00:00
PointerArithChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
PointerSubChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
PthreadLockChecker.cpp Revert 95541. 2010-02-08 16:18:51 +00:00
RangeConstraintManager.cpp Split libAnalysis into two libraries: libAnalysis and libChecker. 2010-01-25 04:41:41 +00:00
RegionStore.cpp Limit the use of BindDefault(). 2010-06-01 04:49:26 +00:00
ReturnPointerRangeChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
ReturnUndefChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
SVals.cpp Fix -Wcast-qual warnings. 2010-04-19 16:39:44 +00:00
SValuator.cpp Cast evaluation no longer touch GRState. 2010-02-04 04:56:43 +00:00
SimpleConstraintManager.cpp Split libAnalysis into two libraries: libAnalysis and libChecker. 2010-01-25 04:41:41 +00:00
SimpleConstraintManager.h Split libAnalysis into two libraries: libAnalysis and libChecker. 2010-01-25 04:41:41 +00:00
SimpleSValuator.cpp Static analyzer: Don't crash when casting a symbolic region address to a float. Fixes PR 6854. 2010-04-16 17:54:33 +00:00
StackAddrLeakChecker.cpp Merge StackAddrLeakChecker and ReturnStackAddressChecker. 2010-06-09 06:08:24 +00:00
Store.cpp Analyzer: add support for CXXNewExpr. 2010-04-19 11:47:28 +00:00
SymbolManager.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
UndefBranchChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
UndefCapturedBlockVarChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
UndefResultChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
UndefinedArraySubscriptChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
UndefinedAssignmentChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
UnixAPIChecker.cpp Remove copy of 'Optional' in Clang tree, and convert clients to use the one now in the LLVM tree. 2010-04-09 20:26:58 +00:00
VLASizeChecker.cpp Checker: random include cleanup. 2010-03-27 21:19:47 +00:00
ValueManager.cpp Since now we store the cast type with an ElementRegion, there is 2010-03-01 06:56:52 +00:00