aboutsummaryrefslogtreecommitdiff
path: root/lib/Basic/Diagnostic.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-04-20 07:18:24 +0000
committerDouglas Gregor <dgregor@apple.com>2010-04-20 07:18:24 +0000
commit575cf3791216c33770ba950430493cdd43099f8f (patch)
tree7daf7c81b0f30f5b5ba975d6a94f89a5dfe13d14 /lib/Basic/Diagnostic.cpp
parent40ab43b29bff9a240e5281e5952f59ddee623fca (diff)
Introduce a limit on the depth of the template instantiation backtrace
we will print with each error that occurs during template instantiation. When the backtrace is longer than that, we will print N/2 of the innermost backtrace entries and N/2 of the outermost backtrace entries, then skip the middle entries with a note such as: note: suppressed 2 template instantiation contexts; use -ftemplate-backtrace-limit=N to change the number of template instantiation entries shown This should eliminate some excessively long backtraces that aren't providing any value. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101882 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Basic/Diagnostic.cpp')
-rw-r--r--lib/Basic/Diagnostic.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Basic/Diagnostic.cpp b/lib/Basic/Diagnostic.cpp
index 755fbed66f..1870195ded 100644
--- a/lib/Basic/Diagnostic.cpp
+++ b/lib/Basic/Diagnostic.cpp
@@ -224,7 +224,8 @@ Diagnostic::Diagnostic(DiagnosticClient *client) : Client(client) {
ErrorOccurred = false;
FatalErrorOccurred = false;
ErrorLimit = 0;
-
+ TemplateBacktraceLimit = 0;
+
NumWarnings = 0;
NumErrors = 0;
NumErrorsSuppressed = 0;