Commit Graph

92 Commits

Author SHA1 Message Date
Manuel Klimek 8a160cc42b Reverts the Tooling changes as requested by Chris.
llvm-svn: 132462
2011-06-02 16:58:33 +00:00
Manuel Klimek 9978c4f730 Fixes Makefile based build for examples/Tooling.
llvm-svn: 132380
2011-06-01 01:21:01 +00:00
Nick Lewycky 15cf577ff9 Put Parse before Sema on the link line since parse depends on sema.
Also reflow these lines to fit in 80-col.

llvm-svn: 132379
2011-06-01 00:59:36 +00:00
Manuel Klimek 0cfc6a045c This patch implements an AST matching framework that allows to write
tools that match on the C++ ASTs. The main interface is in ASTMatchers.h,
an example implementation of a tool that removes redundant .c_str() calls
is in the example RemoveCStrCalls.cpp.

Various contributions:
Zhanyong Wan, Chandler Carruth, Marcin Kowalczyk, Wei Xu, James Dennett.

llvm-svn: 132374
2011-05-31 23:49:32 +00:00
Zhongxing Xu e6a2028fe1 Fix linking of clang-wpa.
llvm-svn: 132329
2011-05-31 07:13:36 +00:00
Manuel Klimek b66b5cef00 Fix examples compile break due to rewrite of isa.
llvm-svn: 131912
2011-05-23 18:25:41 +00:00
Manuel Klimek c9675152b3 Pulls the common part of the clang-check example into Tooling, to allow new tools to be implemented without duplicating the boilerplate.
llvm-svn: 131425
2011-05-16 21:33:46 +00:00
Nico Weber 1eace078a4 Let clang-check actually use the Directory entry in the json file.
llvm-svn: 131367
2011-05-14 21:20:23 +00:00
Manuel Klimek ffecc6b9c2 Fixes compilation with Visual Studio by replacing the non-standard vector::data() access.
llvm-svn: 131116
2011-05-10 00:58:12 +00:00
Nico Weber 1f41ab05f5 Fix gcc 'warning: multi-line comment'.
llvm-svn: 130583
2011-04-30 03:13:21 +00:00
Nico Weber 1bb8e09c37 Add a Makefile to examples/Tooling for people who do not use cmake.
llvm-svn: 130577
2011-04-30 03:03:12 +00:00
Nico Weber 347339f790 Fix Makefile build of examples/clang-interpreter.
llvm-svn: 130576
2011-04-30 02:52:27 +00:00
Manuel Klimek 6825eebcd6 This is the next step in building the standalone tools infrastructure:
This patch simplifies writing of standalone Clang tools. As an
example, we add clang-check, a tool that runs a syntax only frontend
action over a .cc file. When you integrate this into your favorite
editor, you get much faster feedback on your compilation errors, thus
reducing your feedback cycle especially when writing new code.

The tool depends on integration of an outstanding patch to CMake to
work which allows you to always have a current compile command
database in your cmake output directory when you set
CMAKE_EXPORT_COMPILE_COMMANDS.

llvm-svn: 130306
2011-04-27 16:39:14 +00:00
John Thompson f71173043f Fixed build error.
llvm-svn: 128470
2011-03-29 18:31:21 +00:00
Argyrios Kyrtzidis 99ea46462a [analyzer] Add LangOptions in CheckerManager.
llvm-svn: 126306
2011-02-23 07:19:14 +00:00
Peter Collingbourne 8f5cf74c77 Re-instate r125819 and r125820 with no functionality change
llvm-svn: 126060
2011-02-19 23:03:58 +00:00
Rafael Espindola a6d2bff0c5 Revert 125820 and 125819 to fix PR9266.
llvm-svn: 126050
2011-02-19 21:39:31 +00:00
Peter Collingbourne 14a552b2d7 Move CompilerInstance::LLVMContext and LLVMContext ownership to CodeGenAction
This removes the final dependency edge from any lib outside of CodeGen
to core.  As a result we can, and do, trim the dependency on core
from libclang, PrintFunctionNames, the unit tests and c-index-test.
While at it, review and trim other unneeded dependencies.

llvm-svn: 125820
2011-02-18 02:25:12 +00:00
Argyrios Kyrtzidis 6fa0d20a6f Fix the clang-wpa example.
llvm-svn: 125565
2011-02-15 16:54:12 +00:00
Argyrios Kyrtzidis ecd3334dac [analyzer] Introduce libclangStaticAnalyzerFrontend and move Checkers/AnalysisConsumer.cpp into Frontend lib.
llvm-svn: 125499
2011-02-14 18:13:01 +00:00
NAKAMURA Takumi 98dd73d66c CMake: LLVM_NO_RTTI must be obsolete now!
llvm-svn: 125275
2011-02-10 09:15:32 +00:00
Ted Kremenek f8cbac4b91 Split 'include/clang/StaticAnalyzer' into 'include/clang/StaticAnalyzer/Core' and 'include/clang/StaticAnalyzer/Checkers'.
This layout matches lib/StaticAnalyzer, which corresponds to two StaticAnalyzer libraries.

llvm-svn: 125251
2011-02-10 01:03:03 +00:00
Ted Kremenek 0bc2855aa9 Update clang-wpa to pass extra argument to AnalysisManager constructor.
llvm-svn: 125235
2011-02-09 22:59:20 +00:00
Nico Weber 60cd00b2cc make `make` work in examples/PrintFucntionNames on Mac. I checked that it still works on Linux.
llvm-svn: 124325
2011-01-26 21:28:52 +00:00
Nick Lewycky 0c49533039 Fix name to match reality.
llvm-svn: 123813
2011-01-19 05:59:39 +00:00
Ted Kremenek b4384fb0df Get clang-wpa to build in TOT (reflecting updates
to the static analyzer).

llvm-svn: 123727
2011-01-18 04:22:19 +00:00
Ted Kremenek d99bd55a5e Chris Lattner has strong opinions about directory
layout.  :)

Rename the 'EntoSA' directories to 'StaticAnalyzer'.

Internally we will still use the 'ento' namespace
for the analyzer engine (unless there are further
sabre rattlings...).

llvm-svn: 122514
2010-12-23 19:38:26 +00:00
Ted Kremenek ef33f0996c Rename headers: 'clang/GR' 'clang/EntoSA' and
update Makefile.

llvm-svn: 122493
2010-12-23 07:22:02 +00:00
Argyrios Kyrtzidis 1696f508e2 [analyzer] Refactoring: Drop the 'GR' prefix.
llvm-svn: 122424
2010-12-22 18:53:44 +00:00
Argyrios Kyrtzidis a700e976b6 [analyzer] Refactoring: Move checkers into lib/GR/Checkers and their own library, libclangGRCheckers
llvm-svn: 122422
2010-12-22 18:52:56 +00:00
Argyrios Kyrtzidis 2ff5ab1516 [analyzer] Refactoring: lib/Checker -> lib/GR and libclangChecker -> libclangGRCore
llvm-svn: 122421
2010-12-22 18:52:29 +00:00
Argyrios Kyrtzidis 8d602a8aa8 [analyzer] Refactoring: include/clang/Checker -> include/clang/GR
llvm-svn: 122420
2010-12-22 18:51:49 +00:00
Michael J. Spencer 8aaf49959c Merge System into Support.
llvm-svn: 120297
2010-11-29 18:12:39 +00:00
Eli Friedman 9e7baae0c6 Unbreak clang-interpreter. (Should there be some automated testing for this?)
llvm-svn: 120069
2010-11-24 00:32:51 +00:00
Dan Gohman ff66a7c66d Add a comment explaining why r117813 was needed.
llvm-svn: 119518
2010-11-17 17:23:53 +00:00
Benjamin Kramer 4ab36ba726 Turns out that we may end up calling dladdr on GetExecutablePath, give it external linkage to make sure the lookup works on all platforms.
llvm-svn: 117813
2010-10-30 17:32:40 +00:00
Dan Gohman ba76802ed4 These functions don't need external linkage.
llvm-svn: 117733
2010-10-29 22:41:35 +00:00
Tom Care c88ed9561e Rename 'MaxLoop' to 'MaxVisit' in AnalysisManager to more correctly reflect that we aborted analysis may not necessarily be due to a loop.
llvm-svn: 113862
2010-09-14 21:35:27 +00:00
Michael J. Spencer 433e9c7f2a PrintFunctionNames: Fix Windows (MSV{S,C} and mingw) build.
llvm-svn: 113835
2010-09-14 06:39:35 +00:00
Michael J. Spencer 09476212de Revert "CMake: Update to use standard CMake dependency tracking facilities instead"
This reverts commit r113631

Conflicts:

	CMakeLists.txt
	lib/CodeGen/CMakeLists.txt

llvm-svn: 113817
2010-09-13 23:54:41 +00:00
Michael J. Spencer 0881f4a367 CMake: Update to use standard CMake dependency tracking facilities instead
of whatever we were using before...

llvm-svn: 113631
2010-09-10 21:13:16 +00:00
Benjamin Kramer ead810e42b clang-interpreter: libFrontend depends on libSerialization. Fix linux build by changing the link order.
llvm-svn: 112187
2010-08-26 15:21:38 +00:00
Benjamin Kramer 1921fac97e Update clang-interpreter for recent DiagnosticClient ownership changes.
llvm-svn: 112181
2010-08-26 13:48:56 +00:00
Zhongxing Xu 9f077cbc13 Add back clang-wpa. It is useful for experimenting with inter-file analysis.
llvm-svn: 112014
2010-08-25 01:15:20 +00:00
Peter Collingbourne 8e65aeea5e Add Serialization dependency to clang-interpreter
llvm-svn: 111874
2010-08-24 00:31:31 +00:00
Daniel Dunbar 468f5cb8ea Remove wpa 'example', it isn't being maintained.
llvm-svn: 110809
2010-08-11 15:21:41 +00:00
Daniel Dunbar 2be96746b4 Frontend: Change PluginASTAction::ParseArgs to take a CompilerInstance object
for use in reporting diagnostics.
 - We don't want to use the Action's own CompilerInstance, because that is only
   initialized during file processing and I like that invariant.

Also, if ParseArgs returns false then abandon execution.

Also, remove unused PluginASTAction::PrintHelp virtual method.

llvm-svn: 110039
2010-08-02 15:31:28 +00:00
Dan Gohman a8b949883e Make a variable static.
llvm-svn: 109438
2010-07-26 21:12:29 +00:00
Dan Gohman c0539d2eb6 Use an export file. Plugins must export llvm::Registry symbols.
Also, don't link in all the clang libraries statically.

llvm-svn: 109436
2010-07-26 21:12:10 +00:00
Peter Collingbourne 5a75e1ae07 Fix clang-interpreter build
llvm-svn: 109347
2010-07-24 17:59:51 +00:00