Jordan Rose
ab57f79df4
[examples] Add tablegen'd ClangCommentCommandList as a dependency for plugins.
...
Also, remove library dependencies for the sample analyzer-plugin. The only
library changes that would require a rebuild should be in headers, which
should already implicitly be marked as dependencies.
llvm-svn: 201350
2014-02-13 18:12:30 +00:00
Jordan Rose
68db107c81
[examples] Use loadable modules instead of shared libraries for Clang plugins.
...
This avoids linking in extra copies of, say, LLVMSupport.
llvm-svn: 201256
2014-02-12 21:04:23 +00:00
Alexander Kornienko
4aca9b1cd8
Expose the name of the checker producing each diagnostic message.
...
Summary:
In clang-tidy we'd like to know the name of the checker producing each
diagnostic message. PathDiagnostic has BugType and Category fields, which are
both arbitrary human-readable strings, but we need to know the exact name of the
checker in the form that can be used in the CheckersControlList option to
enable/disable the specific checker.
This patch adds the CheckName field to the CheckerBase class, and sets it in
the CheckerManager::registerChecker() method, which gets them from the
CheckerRegistry.
Checkers that implement multiple checks have to store the names of each check
in the respective registerXXXChecker method.
Reviewers: jordan_rose, krememek
Reviewed By: jordan_rose
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2557
llvm-svn: 201186
2014-02-11 21:49:21 +00:00
NAKAMURA Takumi
a050e3e9bd
[CMake] Suppress SampleAnalyzerPlugin w/o ENABLE_STATIC_ANALYZER.
...
llvm-svn: 200532
2014-01-31 11:19:09 +00:00
NAKAMURA Takumi
ac3ff26885
[CMake] Parameterize MODULE and SHARED in add_clang_library().
...
llvm-svn: 199902
2014-01-23 15:33:44 +00:00
Nico Weber
c45921903f
Don't use PrintFunctionNames.exports on Windows.
...
llvm-svn: 198187
2013-12-30 00:05:56 +00:00
Nico Weber
e8ef46c851
Fix typo in comment.
...
llvm-svn: 198186
2013-12-29 23:15:01 +00:00
Nico Weber
216436c77a
[cmake] Set in LLVM_EXPORTED_SYMBOL_FILE PrintFunctionNames/CMakeLists.txt.
...
The corresponding Makefile sets it too. Also tweak add_clang_library to support
LLVM_EXPORTED_SYMBOL_FILE for modules.
llvm-svn: 198185
2013-12-29 23:14:26 +00:00
Alp Toker
9477f9e52f
Fix getCustomDiagID() usage in example code
...
This was setting a bad example. DiagIDs are a limited resource and the message
argument is evaluated as a format string.
llvm-svn: 197855
2013-12-21 05:19:58 +00:00
NAKAMURA Takumi
ac85179219
[CMake] Update target_link_libraries() and LLVM_LINK_COMPONENTS for each CMakeLists.txt.
...
llvm-svn: 196916
2013-12-10 12:40:37 +00:00
NAKAMURA Takumi
320b4d21c8
Add ObjCARCOpts to LINK_COMPONENTS.
...
llvm-svn: 196915
2013-12-10 12:40:11 +00:00
Bill Wendling
83da4dae3d
Add irreader to the component list, because ParseIR is called.
...
llvm-svn: 193032
2013-10-19 08:33:11 +00:00
Hans Wennborg
b212b34f19
Move Compilation::PrintJob and PrintDiagnosticJob into Job::Print.
...
This moves the code to Job.cpp, which seems like a more natural fit,
and replaces the "is this a JobList? is this a Command?" logic with
a virtual function call.
It also removes the code duplication between PrintJob and
PrintDiagnosticJob and simplifies the code a little.
There's no functionality change here, except that the Executable is
now always printed within quotes, whereas it would previously not be
quoted in crash reports, which I think was a bug.
Differential Revision: http://llvm-reviews.chandlerc.com/D1653
llvm-svn: 190620
2013-09-12 18:23:34 +00:00
Rafael Espindola
e6151cf586
Remove unused header.
...
llvm-svn: 184945
2013-06-26 13:49:47 +00:00
Rafael Espindola
9678d27140
Use llvm::sys::fs::getMainExecutable.
...
llvm-svn: 184915
2013-06-26 05:03:40 +00:00
Rafael Espindola
1600a53bc0
Include PathV1.h only where it is used.
...
llvm-svn: 184090
2013-06-17 17:23:47 +00:00
Reid Kleckner
898229ab4b
[Driver] Refactor clang driver to use LLVM's Option library
...
The big changes are:
- Deleting Driver/(Arg|Opt)*
- Rewriting includes to llvm/Option/ and re-sorting
- 'using namespace llvm::opt' in clang::driver
- Fixing the autoconf build by adding option everywhere
As discussed in the review, this change includes using directives in
header files. I'll make follow up changes to remove those in favor of
name specifiers.
Reviewers: espindola
Differential Revision: http://llvm-reviews.chandlerc.com/D975
llvm-svn: 183989
2013-06-14 17:17:23 +00:00
Chandler Carruth
b45836a231
The IRReader header is now part of its own library. Update the include
...
line and the library dependencies to reflect this.
llvm-svn: 177972
2013-03-26 02:25:54 +00:00
Sean Silva
f1b49e237f
Nuke SetUpBuildDumpLog.
...
Also, it was the only reason that `argc` and `argv` were being passed
into createDiagnostics, so remove those parameters and clean up callers.
llvm-svn: 172945
2013-01-20 01:58:28 +00:00
Peter Collingbourne
e8baf33712
Use getProcessTriple in clang-interpreter.
...
llvm-svn: 172664
2013-01-16 22:37:09 +00:00
Dmitri Gribenko
f857950d39
Remove useless 'llvm::' qualifier from names like StringRef and others that are
...
brought into 'clang' namespace by clang/Basic/LLVM.h
llvm-svn: 172323
2013-01-12 19:30:44 +00:00
Chandler Carruth
ffd5551bc7
Rewrite #includes for llvm/Foo.h to llvm/IR/Foo.h as appropriate to
...
reflect the migration in r171366.
Re-sort the #include lines to reflect the new paths.
llvm-svn: 171369
2013-01-02 11:45:17 +00:00
Douglas Gregor
27c42e66bb
Revert r170801, which breaks the mingw build.
...
llvm-svn: 170804
2012-12-20 23:36:52 +00:00
Douglas Gregor
d04592dc81
Eliminate errors when running the 'PrintFunctionNames' plugin, from Li Qun!
...
llvm-svn: 170801
2012-12-20 23:11:42 +00:00
Chandler Carruth
8675b4af77
Sort the #include lines for examples/...
...
llvm-svn: 169241
2012-12-04 09:37:22 +00:00
Rafael Espindola
e3cfca7aa2
Fix examples.
...
llvm-svn: 168705
2012-11-27 16:16:02 +00:00
NAKAMURA Takumi
53eefc43f4
analyzer-plugin/MainCallChecker.cpp: Fixup corresponding to r167275.
...
llvm-svn: 167278
2012-11-02 02:04:01 +00:00
Douglas Gregor
cdb4d699a8
Update clang-interpreter example
...
llvm-svn: 166510
2012-10-23 22:36:49 +00:00
Ted Kremenek
cdf814900d
Split library clangRewrite into clangRewriteCore and clangRewriteFrontend.
...
This is similar to how we divide up the StaticAnalyzer libraries to separate
core functionality to what is clearly associated with Frontend actions.
llvm-svn: 163050
2012-09-01 05:09:24 +00:00
NAKAMURA Takumi
a9a35c67e1
libclang, examples: [CMake] Add dependencies to tblgen'd headers.
...
llvm-svn: 160849
2012-07-27 06:17:56 +00:00
Chandler Carruth
28969b4139
Remove a goofy CMake hack and use the standard CMake facilities to
...
express library-level dependencies within Clang.
This is no more verbose really, and plays nicer with the rest of the
CMake facilities. It should also have no change in functionality.
llvm-svn: 158888
2012-06-21 01:30:21 +00:00
Peter Collingbourne
9251b7d873
Honour CLANG_BUILD_EXAMPLES correctly, by setting the directory's
...
EXCLUDE_FROM_ALL property.
llvm-svn: 156090
2012-05-03 19:11:45 +00:00
Manuel Klimek
34e0f6cba2
Reverted unintentional commit.
...
llvm-svn: 155629
2012-04-26 08:46:12 +00:00
Manuel Klimek
c01d3fbe0f
Adds a small tutorial on how to write RAV based ASTFrontendActions.
...
llvm-svn: 155627
2012-04-26 08:35:39 +00:00
Douglas Gregor
11f91b9fe7
Remove clangIndex reference from clang-interpreter CMake build
...
llvm-svn: 154674
2012-04-13 17:22:46 +00:00
NAKAMURA Takumi
a4917fade7
clang-interpreter/Makefile: [PR12313] Update USEDLIBS to add clangEdit.
...
llvm-svn: 153167
2012-03-21 06:25:42 +00:00
Douglas Gregor
d23e333bf6
Remove clang-wpa example, which has been unmaintained for quite a while.
...
llvm-svn: 152729
2012-03-14 17:29:44 +00:00
David Blaikie
bbafb8a745
Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST).
...
The member variable is always "LangOpts" and the member function is always "getLangOpts".
Reviewed by Chris Lattner
llvm-svn: 152536
2012-03-11 07:00:24 +00:00
Anna Zaks
fc5dfe9f7c
[analyzer] Rename clang::CallGraph into clang::idx::CallGraph + rename
...
the corresponding files to avoid confusion.
This is a preparation to adding an AST-based call graph to Analysis. The
existing call graph works with indexer entries. We might be able to
refactor it to use the AST based graph in the future.
(Minimal testing here as the only example that uses the API has been
completely broken, does not compile.)
llvm-svn: 151950
2012-03-02 22:54:36 +00:00
Dylan Noblesmith
c95d81924d
Basic: import IntrusiveRefCntPtr<> into clang namespace
...
The class name is long enough without the llvm:: added.
Also bring in RefCountedBase and RefCountedBaseVPTR.
llvm-svn: 150958
2012-02-20 14:00:23 +00:00
Dylan Noblesmith
f1a13f29f2
drop more llvm:: prefixes on SmallString<>
...
More cleanup after r149799.
llvm-svn: 150380
2012-02-13 12:32:26 +00:00
Dylan Noblesmith
1cd1069b68
drop more llvm:: prefixes on OwningPtr<>
...
More cleanup after r149798.
llvm-svn: 150379
2012-02-13 12:32:21 +00:00
Dylan Noblesmith
01b2c9e82f
examples/analyzer-plugin: hook up to build
...
This was never being compiled at all and was bitrotting
as a result.
Also compile SampleAnalyzerPlugin as a module, not a library,
and fix a mistake with not passing the source files
to add_clang_library().
llvm-svn: 150378
2012-02-13 12:32:15 +00:00
Dylan Noblesmith
aa1a64055b
examples/analyzer-plugin/: unbreak build
...
It was never updated for API changes in r149311/r149336/r149339
and r147688.
llvm-svn: 150202
2012-02-09 20:02:49 +00:00
Peter Collingbourne
53860cfeb0
Adjust CLANG_BUILD_EXAMPLES to mean whether the examples are built
...
by default, rather than whether they may be built at all.
llvm-svn: 149037
2012-01-26 03:33:40 +00:00
Dylan Noblesmith
1ced737ebf
remove unneeded config.h includes
...
llvm-svn: 147195
2011-12-22 22:49:47 +00:00
Dylan Noblesmith
4cde694855
examples: flesh out PFN readme
...
Show how to actually use the arguments it has.
llvm-svn: 146845
2011-12-18 11:30:53 +00:00
Douglas Gregor
9f39a765e2
Update signature of HandleTopLevelDecl.
...
llvm-svn: 145001
2011-11-19 19:22:13 +00:00
Sebastian Pop
8188c8a1f3
rename getHostTriple into getDefaultTargetTriple in clang
...
llvm-svn: 143503
2011-11-01 21:33:06 +00:00
Peter Collingbourne
f1d76db466
Add support for lazily linking bitcode files (using a new
...
-mlink-bitcode-file flag), and more generally llvm::Modules, before
running optimisations.
llvm-svn: 143314
2011-10-30 17:30:44 +00:00
Eli Friedman
4e84e46b7b
Add missing include to clang-interpreter example, to make it work on Windows. Patch by Dean Pavlekovic.
...
llvm-svn: 141324
2011-10-06 22:24:13 +00:00
Bob Wilson
05de0298d2
Rip out flags for controlling C++ "production mode" separately.
...
This is old leftover cruft from the days when C++ was not yet ready
for prime time.
llvm-svn: 141063
2011-10-04 05:34:14 +00:00
Eli Friedman
f42db7ce48
Fix examples for r140478. PR11021.
...
llvm-svn: 140618
2011-09-27 18:33:47 +00:00
Evan Cheng
494eb062b5
Match LLVM change: TargetRegistry and TargetSelect have been moved to Support.
...
llvm-svn: 138451
2011-08-24 18:09:14 +00:00
Anna Zaks
3a6bdf8f82
Remove EnhancedBugReport and RangedBugReport - pull all the extra functionality they provided into their parent BugReport. The only functional changes are: made getRanges() non const - it adds default range to Ranges if none are supplied, made getStmt() private, which was another FIXME.
...
llvm-svn: 137894
2011-08-17 23:00:25 +00:00
Jordy Rose
ae55cf2f90
Don't use BuiltinBug in analyzer plugin example.
...
llvm-svn: 137811
2011-08-17 03:23:51 +00:00
Jordy Rose
93b86e494d
[analyzer] Add basic support for pluggable checkers.
...
llvm-svn: 137802
2011-08-17 01:30:59 +00:00
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