• Home
  • History
  • Annotate
  • only in /external/clang/tools/diagtool/
History log of /external/clang/tools/diagtool/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ef8225444452a1486bd721f3285301fe84643b00 21-Jul-2014 Stephen Hines <srhines@google.com> Update Clang for rebase to r212749.

This also fixes a small issue with arm_neon.h not being generated always.

Includes a cherry-pick of:
r213450 - fixes mac-specific header issue
r213126 - removes a default -Bsymbolic on Android

Change-Id: I2a790a0f5d3b2aab11de596fc3a74e7cbc99081d
iagTool.cpp
iagnosticNames.cpp
iagnosticNames.h
howEnabledWarnings.cpp
reeView.cpp
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 29-May-2014 Stephen Hines <srhines@google.com> Update Clang for 3.5 rebase (r209713).

Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
iagnosticNames.cpp
651f13cea278ec967336033dd032faef0e9fc2ec 24-Apr-2014 Stephen Hines <srhines@google.com> Updated to Clang 3.5a.

Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
MakeLists.txt
iagTool.h
howEnabledWarnings.cpp
3347b497157d36cf280d1d9f52956faa6e702f34 12-Nov-2013 Richard Smith <richard-llvm@metafoo.co.uk> Rather than duplicating extension diagnostics to allow them to cause a
substitution failure, allow a flag to be set on the Diagnostic object,
to mark it as 'causes substitution failure'.

Refactor Diagnostic.td and the tablegen to use an enum for SFINAE behavior
rather than a bunch of flags.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194444 91177308-0d34-0410-b5e6-96231b3b80d8
iagnosticNames.cpp
354f20a8720732aa1745d1ff9595382cee324ee2 29-Aug-2013 Craig Topper <craig.topper@gmail.com> Move individual group name strings from the OptionTable into one big char array. Then only store offsets into it in the OptionTable. Saves about 4K from the clang binary and removes 400 relocation entries from DiagnosticIDs.o.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189568 91177308-0d34-0410-b5e6-96231b3b80d8
iagnosticNames.cpp
iagnosticNames.h
reeView.cpp
0e28a257727f092fbb2d544fd9aaf3b20a323456 28-Aug-2013 Craig Topper <craig.topper@gmail.com> Reorder and shrink size of NameLen field in diagnostic group table. Shaves ~4K from clang binary.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189445 91177308-0d34-0410-b5e6-96231b3b80d8
iagnosticNames.h
reeView.cpp
b1aa16a18563ebb6824fbe7267420942c802a8ca 28-Aug-2013 Craig Topper <craig.topper@gmail.com> Merge diagnostic group tables to reduce data size and relocation entries.

The individual group and subgroups tables are now two large tables. The option table stores an index into these two tables instead of pointers. This reduces the size of the options tabe since it doesn't need to store pointers. It also reduces the number of relocations needed.

My build shows this reducing DiagnosticsIDs.o and the clang binary by ~20.5K. It also removes ~400 relocation entries from DiagnosticIDs.o.






git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189438 91177308-0d34-0410-b5e6-96231b3b80d8
iagnosticNames.cpp
iagnosticNames.h
b1e25a1bc03292dc538d336573e0be1490223171 14-Jun-2013 Reid Kleckner <reid@kleckner.net> [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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183989 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
d47afb96a3f988e6d21a92fe4dfe875ab227c7c0 20-Jan-2013 Sean Silva <silvas@purdue.edu> 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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172945 91177308-0d34-0410-b5e6-96231b3b80d8
howEnabledWarnings.cpp
5975b67a9ba4dbda482a09cfeafae4acf299c985 19-Jan-2013 Chris Lattner <sabre@nondot.org> these now depend on the bitcode reader too.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172906 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
akefile
f59edb96b2d0bfe612b732f19519ab84bb995bd4 04-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort #include lines for tools/...

Completely automated with sort_includes.py

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169240 91177308-0d34-0410-b5e6-96231b3b80d8
iagTool.cpp
iagTool.h
istWarnings.cpp
reeView.cpp
02c23ebf41ae2f70da0ba7337e05c51fbfe35f7f 24-Oct-2012 Douglas Gregor <dgregor@apple.com> Make DiagnosticOptions intrusively reference-counted, and make sure
the various stakeholders bump up the reference count. In particular,
the diagnostics engine now keeps the DiagnosticOptions object alive.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166508 91177308-0d34-0410-b5e6-96231b3b80d8
howEnabledWarnings.cpp
reeView.cpp
efdfc1d38bdfa6c9c2ac47f883dd602f12e29807 06-Oct-2012 Ted Kremenek <kremenek@apple.com> Add color output to 'diagtool tree' to show what warnings are enabled by default.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165338 91177308-0d34-0410-b5e6-96231b3b80d8
reeView.cpp
1a5d421c26e3dffce9dfc1aeca846167d7bb4068 09-Aug-2012 Chad Rosier <mcrosier@apple.com> [ms-inline asm] Add various MC components to clang build to support MS-style inline assembly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161594 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
fa1d30ddb1bbb16d8c268f79890ac39101915b5c 08-Aug-2012 Chad Rosier <mcrosier@apple.com> Add various MC components to clang build to support MS-style inline assembly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161498 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
0bc35e9e484ca66323f437a205baaa52d777260f 31-Jul-2012 David Blaikie <dblaikie@gmail.com> Include clang-check as part of the clang installation.

This also tidies up a couple of other tools we were (partially) installing:
* c-index-test was being installed but shouldn't be (it's just a clang-dev tool)
* diagtool was being installed in cmake but not make (& shouldn't be installed in either)

Review by Manuel Klimek, Doug Gregor, and Chandler Carruth.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161073 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
a5ef44ff5d93a3be6ca67782828157a71894cf0c 11-Jul-2012 Dmitri Gribenko <gribozavr@gmail.com> Enable comment parsing and semantic analysis to emit diagnostics. A few
diagnostics implemented -- see testcases.

I created a new TableGen file for comment diagnostics,
DiagnosticCommentKinds.td, because comment diagnostics don't logically
fit into AST diagnostics file. But I don't feel strongly about it.

This also implements support for self-closing HTML tags in comment
lexer and parser (for example, <br />).

In order to issue precise diagnostics CommentSema needs to know the
declaration the comment is attached to. There is no easy way to find a decl by
comment, so we match comments and decls in lockstep: after parsing one
declgroup we check if we have any new, not yet attached comments. If we do --
then we do the usual comment-finding process.

It is interesting that this automatically handles trailing comments.
We pick up not only comments that precede the declaration, but also
comments that *follow* the declaration -- thanks to the lookahead in
the lexer: after parsing the declgroup we've consumed the semicolon
and looked ahead through comments.

Added -Wdocumentation-html flag for semantic HTML errors to allow the user to
disable only HTML warnings (but not HTML parse errors, which we emit as
warnings in -Wdocumentation).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160078 91177308-0d34-0410-b5e6-96231b3b80d8
iagnosticNames.cpp
a437b84765d6b98d57f2789435ad641f1dd61474 07-Jul-2012 Ted Kremenek <kremenek@apple.com> Enhance 'diagtool list-warnings' to report number of diagnostics covered directly under -Wpedantic, and enhance warning-flags.c test to test that this set does not grow.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159893 91177308-0d34-0410-b5e6-96231b3b80d8
istWarnings.cpp
19bf662a7c5df007f2809ad3b6eb0a3985003e73 24-Jun-2012 Jordan Rose <jordan_rose@apple.com> [diagtool] Appease buildbots by explicitly using makeArrayRef.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159095 91177308-0d34-0410-b5e6-96231b3b80d8
iagnosticNames.cpp
e7427636767501903cfa51ccecafa7a4795a23c2 24-Jun-2012 Jordan Rose <jordan_rose@apple.com> [diagtool] Add a new "tree" command to shows warnings activated by a flag.

% diagtool tree -Wunused-value
-Wunused-value
-Wunused-comparison
warn_unused_comparison
-Wunused-result
warn_unused_result
warn_unused_call
warn_unused_container_subscript_expr
warn_unused_expr
warn_unused_property_expr
warn_unused_voidptr

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159093 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
iagnosticNames.cpp
iagnosticNames.h
istWarnings.cpp
howEnabledWarnings.cpp
reeView.cpp
0764573a17b0796427f505c1cc7b53c33aeba25e 22-Jun-2012 Jordan Rose <jordan_rose@apple.com> [diagtool] Write to llvm::outs() by default instead of llvm::errs()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158954 91177308-0d34-0410-b5e6-96231b3b80d8
iagtool_main.cpp
b0d8671f95fe08a220118bca29063ba4d11a9dac 21-Jun-2012 Chandler Carruth <chandlerc@gmail.com> 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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158888 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
f95d4125c01fa7b98722ae8cfbceac4a87d037b4 20-Jun-2012 Chandler Carruth <chandlerc@gmail.com> Fix a big layering violation introduced by r158771.

That commit added a new library just to hold the RawCommentList. I've
started a discussion on the commit thread about whether that is really
meritted -- it certainly doesn't seem necessary at this stage.

However, the immediate problem is that the AST library has a hard
dependency on the Comment library, but the dependencies were set up
completely backward. In addition to the layering violation, this had an
unfortunate effect if scattering the Comments library dependency
throughout the build system, but inconsistently so -- several parts of
the CMake dependencies were missing and only showed up due to transitive
deps or the fact that the target wasn't being built by tho bots.

It turns out that the Comments library can't (currently) be a well
formed layer *below* the AST library either, as it has an API that
accepts an ASTContext. That parameter is currently unused, so maybe that
was a mistake?

Anyways, it really seems like this is logically part of the AST --
that's the whole point of the ASTContext providing access to it as far
as I can tell -- so I've merged it into the AST library to solve the
immediate layering violation problems and remove some of the churn from
our library dependencies.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158807 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
e3bbfcae61c861145be62d9739f0ffdd6fabe3f3 20-Jun-2012 Rafael Espindola <rafael.espindola@gmail.com> Fix cmake build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158782 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
aa0cd85838f2a024e589ea4e8c2094130065af21 20-Jun-2012 Dmitri Gribenko <gribozavr@gmail.com> Structured comment parsing, first step.

* Retain comments in the AST
* Serialize/deserialize comments
* Find comments attached to a certain Decl
* Expose raw comment text and SourceRange via libclang


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158771 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
akefile
28ba2ee5c5cc3e43ebf5f9d7464037689d82a198 17-Jun-2012 NAKAMURA Takumi <geek4civic@gmail.com> diagtool/CMakeLists.txt: Add missing tblgen'd dependency, ClangDiagnosticIndexName.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158649 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
e2f705d1bfc2f0a143830045ffb2bab7d84e86c1 04-Jun-2012 Jordan Rose <jordan_rose@apple.com> [diagtool] Properly order libraries in Makefile for buildbot.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157934 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
0832f82f763185767d63ae4bf05021c5630c155f 04-Jun-2012 Jordan Rose <jordan_rose@apple.com> [diagtool] Re-add show-enabled, minimizing the code pulled in from Frontend.

Now correctly builds with both GNU make and CMake.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157932 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
iagnosticNames.cpp
iagnosticNames.h
istWarnings.cpp
akefile
howEnabledWarnings.cpp
0a5ca3588df1cb9248ae299f7f5ac1434c0e4d8c 02-Jun-2012 Jordan Rose <jordan_rose@apple.com> [diagtool] Pull show-enabled back out for now.

Need to figure out how to get Frontend's warning parsing without bringing
in all of Frontend.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157847 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
iagnosticNames.cpp
iagnosticNames.h
istWarnings.cpp
akefile
howEnabledWarnings.cpp
b705489e8e23e7a5401a4bb0b528bf6bcede9d5c 02-Jun-2012 Jordan Rose <jordan_rose@apple.com> [diagtool] Unbork Makefile build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157846 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
4fab4fdb1019f51883ce2fed6a614c67466b1f82 01-Jun-2012 Jordan Rose <jordan_rose@apple.com> [diagtool] Appease buildbot by adding llvm_unreachable.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157843 91177308-0d34-0410-b5e6-96231b3b80d8
howEnabledWarnings.cpp
f11b0f9a4e8d79f1bf59f4271f96d28b55bcc067 01-Jun-2012 Jordan Rose <jordan_rose@apple.com> [diagtool] Add 'show-enabled', which displays which warnings are enabled.

show-enabled uses the command line you give it to build a CompilerInstance,
so any flags you pass will be processed as if running clang proper.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157842 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
iagnosticNames.cpp
iagnosticNames.h
istWarnings.cpp
akefile
howEnabledWarnings.cpp
39876df44d4aec9cbcb30bdfd6a0bc26867a2e75 01-Jun-2012 Jordan Rose <jordan_rose@apple.com> [diagtool] The driver skips two arguments, not one.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157841 91177308-0d34-0410-b5e6-96231b3b80d8
iagtool_main.cpp
6c44886ed05d7804bfd7b80857b81fd3477079f6 15-Feb-2012 David Blaikie <dblaikie@gmail.com> Provide common include for all diagnostic headers.

Reviewed by Ted Kremenek.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150616 91177308-0d34-0410-b5e6-96231b3b80d8
istWarnings.cpp
ceb15656fbab9ee1da319afa4934b8f6a5964758 15-Feb-2012 David Blaikie <dblaikie@gmail.com> Remove the unuseful -fdiagnostics-show-name

This option was added in r129614 and doesn't have any use case that I'm aware
of. It's possible that external tools are using these names - and if that's
the case we can certainly reassess the functionality, but for now it lets us
shave out a few unneeded bits from clang.

Move the "StaticDiagNameIndex" table into the only remaining consumer, diagtool.
This removes the actual diagnostic name strings from clang entirely.

Reviewed by Chris Lattner & Ted Kremenek.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150612 91177308-0d34-0410-b5e6-96231b3b80d8
istWarnings.cpp
59283a001cf2b8f7aea90b2cac48b457dc531ef4 23-Oct-2011 Benjamin Kramer <benny.kra@googlemail.com> Reduce dependencies.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142742 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
d6471f7c1921c7802804ce3ff6fe9768310f72b9 26-Sep-2011 David Blaikie <dblaikie@gmail.com> Rename Diagnostic to DiagnosticsEngine as per issue 5397


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140478 91177308-0d34-0410-b5e6-96231b3b80d8
istWarnings.cpp
83f06e8223291cd8dabe94d0cbfd0553121d5a44 12-Aug-2011 Nick Lewycky <nicholas@mxc.ca> The diagtool registration system tries to use a global variable from a method
called on another global variable. Use ManagedStatic to ensure that the global
we register with actually exists when we need it.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137406 91177308-0d34-0410-b5e6-96231b3b80d8
iagTool.cpp
iagTool.h
istWarnings.cpp
iagtool_main.cpp
7eab9d33e27c291fc2f50b1027d5be6978ff80a3 09-Aug-2011 Ted Kremenek <kremenek@apple.com> Add libsupport to list of libraries to link into diagtool

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137110 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
2dc651dfd4a4497c39b862e060200d6d58f5c4ec 09-Aug-2011 Ted Kremenek <kremenek@apple.com> Add 'diagtool' to the 'tools/' directory. diagtool is a new tool (WIP) for analyzing and working with clang diagnostics.

Some interesting stats from 'diagtool list-warnings' on the current version of clang:

Percentage of warnings with flags: 48.79%
Number of unique flags: 148
Average number of diagnostics per flag: 2.041

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137109 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
iagTool.cpp
iagTool.h
istWarnings.cpp
akefile
iagtool_main.cpp