llvm-project/clang/lib/Frontend
Richard Trieu ecd36ee80b Stop printing macro backtraces that don't help diagnostics.
When displaying the macro backtrace, ignore some of the backtraces that do not
provide extra information to the diagnostic.  Typically, if the problem is
entirely contained within a macro argument, the macro expansion is often not
needed.  Also take into account SourceRange's attached to the diagnostic when
selecting which backtraces to ignore.  Two previous test cases have also been
updated.

Patch by Zhengkai Wu, with minor formatting fixes.

Differential Revision: http://reviews.llvm.org/D11778

llvm-svn: 244788
2015-08-12 18:24:59 +00:00
..
Rewrite Switch users of the 'for (StmtRange range = stmt->children(); range; ++range)‘ pattern to range for loops. 2015-07-02 21:03:14 +00:00
ASTConsumers.cpp Revert r240270 ("Fixed/added namespace ending comments using clang-tidy"). 2015-06-22 23:07:51 +00:00
ASTMerge.cpp Make the clang module container format selectable from the command line. 2015-07-17 01:19:54 +00:00
ASTUnit.cpp [Modules] Wrap the main ModuleManager visitor in a function_ref. 2015-07-25 12:14:04 +00:00
CMakeLists.txt Introduce a PCHContainerOperations interface (NFC). 2015-06-20 18:53:08 +00:00
CacheTokens.cpp Use raw_pwrite_stream in clang. 2015-04-14 15:15:49 +00:00
ChainedDiagnosticConsumer.cpp Remove spurious mode marker from .cpp file. 2012-10-29 06:05:01 +00:00
ChainedIncludesSource.cpp Rename the non-coding style conformant functions in namespace Builtins 2015-08-06 01:01:12 +00:00
CodeGenOptions.cpp [cleanup] Re-sort *all* #include lines with llvm/utils/sort_includes.py 2015-01-14 11:29:14 +00:00
CompilerInstance.cpp Fix some tabs. 2015-08-11 00:03:28 +00:00
CompilerInvocation.cpp Add -fno-coverage-mapping flag. 2015-08-05 23:27:40 +00:00
CreateInvocationFromCommandLine.cpp [cuda] Driver changes to compile and stitch together host and device-side CUDA code. 2015-07-13 23:27:56 +00:00
DependencyFile.cpp [modules] When building a dependency file, include module maps parsed in the 2015-08-09 04:46:57 +00:00
DependencyGraph.cpp Revert r240270 ("Fixed/added namespace ending comments using clang-tidy"). 2015-06-22 23:07:51 +00:00
DiagnosticRenderer.cpp Stop printing macro backtraces that don't help diagnostics. 2015-08-12 18:24:59 +00:00
FrontendAction.cpp Rename the non-coding style conformant functions in namespace Builtins 2015-08-06 01:01:12 +00:00
FrontendActions.cpp Make the clang module container format selectable from the command line. 2015-07-17 01:19:54 +00:00
FrontendOptions.cpp Ensure that we still parse preprocessed CUDA files as CUDA when we use 2015-03-19 17:32:06 +00:00
HeaderIncludeGen.cpp Revert r240270 ("Fixed/added namespace ending comments using clang-tidy"). 2015-06-22 23:07:51 +00:00
InitHeaderSearch.cpp Support mingw-w64 and mingw.org toolchains at any install location. 2015-07-02 04:45:27 +00:00
InitPreprocessor.cpp Make the clang module container format selectable from the command line. 2015-07-17 01:19:54 +00:00
LangStandards.cpp [C++11] Use 'nullptr'. Frontend edition. 2014-05-22 04:46:25 +00:00
LayoutOverrideSource.cpp Excise <cctype> from Clang (except clang-tblgen) in favor of CharInfo.h. 2013-02-08 22:30:41 +00:00
LogDiagnosticPrinter.cpp Add DiagID and Warning Flag to DiagnosticsLog 2014-11-14 21:23:56 +00:00
Makefile Make clang's rewrite engine a core feature 2014-07-16 16:48:33 +00:00
ModuleDependencyCollector.cpp Revert r240270 ("Fixed/added namespace ending comments using clang-tidy"). 2015-06-22 23:07:51 +00:00
MultiplexConsumer.cpp [ObjC] Add NSValue support for objc_boxed_expressions 2015-06-26 05:28:36 +00:00
PCHContainerOperations.cpp Make the clang module container format selectable from the command line. 2015-07-17 01:19:54 +00:00
PrintPreprocessedOutput.cpp According to the OpenMP spec, all the preprocessor macros should be 2015-06-15 23:44:27 +00:00
SerializedDiagnosticPrinter.cpp [Frontend] Fix crash when serializing diagnostics with really long text. 2015-08-06 18:46:36 +00:00
SerializedDiagnosticReader.cpp Revert r240270 ("Fixed/added namespace ending comments using clang-tidy"). 2015-06-22 23:07:51 +00:00
TextDiagnostic.cpp [modules] Properly diagnose errors in module files for which we have no 2015-08-11 00:05:21 +00:00
TextDiagnosticBuffer.cpp Replace push_back(Constructor(foo)) with emplace_back(foo) for non-trivial types 2015-05-29 19:42:19 +00:00
TextDiagnosticPrinter.cpp Remove uses of the redundant ".reset(nullptr)" of unique_ptr, in favor of ".reset()" 2014-07-19 01:06:45 +00:00
VerifyDiagnosticConsumer.cpp Revert r240270 ("Fixed/added namespace ending comments using clang-tidy"). 2015-06-22 23:07:51 +00:00