• 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 >>>)
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