]> granicus.if.org Git - clang/commit
Add template type diffing to Clang. This feature will provide a better
authorRichard Trieu <rtrieu@google.com>
Tue, 26 Jun 2012 18:18:47 +0000 (18:18 +0000)
committerRichard Trieu <rtrieu@google.com>
Tue, 26 Jun 2012 18:18:47 +0000 (18:18 +0000)
commit246b6aa6763de8c617d564ef33123a8f3293a80e
treebb5b73db2f2066b691ac86926ca2236a9dfd3783
parent72c1a6a543c854ae18d629c9b5b3d89851880bf0
Add template type diffing to Clang.  This feature will provide a better
comparison between two templated types when they both appear in a diagnostic.
Type elision will remove indentical template arguments, which can be disabled
with -fno-elide-type.  Cyan highlighting is applied to the differing types.

For more formatting, -fdiagnostic-show-template-tree will output the template
type as an indented text tree, with differences appearing inline. Template
tree works with or without type elision.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159216 91177308-0d34-0410-b5e6-96231b3b80d8
12 files changed:
include/clang/Basic/Diagnostic.h
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Driver/Options.td
include/clang/Frontend/DiagnosticOptions.h
lib/AST/ASTDiagnostic.cpp
lib/Basic/Diagnostic.cpp
lib/Driver/Tools.cpp
lib/Frontend/CompilerInvocation.cpp
lib/Frontend/TextDiagnostic.cpp
lib/Frontend/Warnings.cpp
test/Misc/diag-aka-types.cpp
test/Misc/diag-template-diffing.cpp [new file with mode: 0644]