summaryrefslogtreecommitdiffstats
path: root/include/clang/Basic/DiagnosticOptions.def
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2012-10-24 15:17:15 +0000
committerDouglas Gregor <dgregor@apple.com>2012-10-24 15:17:15 +0000
commit5f3d8224af99ad0d9107601c0c31b74693371cc1 (patch)
treeccb78103e62bda6da4e2fbce57145eb303f4f068 /include/clang/Basic/DiagnosticOptions.def
parent6e347bccd1f132a41f9b72adbd25dc6be1dabe90 (diff)
Serialize DiagnosticOptions to the AST file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166572 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/DiagnosticOptions.def')
-rw-r--r--include/clang/Basic/DiagnosticOptions.def39
1 files changed, 35 insertions, 4 deletions
diff --git a/include/clang/Basic/DiagnosticOptions.def b/include/clang/Basic/DiagnosticOptions.def
index 600ed0357d..14b8abfffa 100644
--- a/include/clang/Basic/DiagnosticOptions.def
+++ b/include/clang/Basic/DiagnosticOptions.def
@@ -11,7 +11,9 @@
// must define the DIAGOPT macro to make use of this information.
// Optionally, the user may also define ENUM_DIAGOPT (for options
// that have enumeration type and VALUE_DIAGOPT (for options that
-// describe a value rather than a flag).
+// describe a value rather than a flag). The SEMANTIC_* variants of these macros
+// indicate options that affect the processing of the program, rather than
+// simply the output.
//
//===----------------------------------------------------------------------===//
#ifndef DIAGOPT
@@ -28,7 +30,21 @@ DIAGOPT(Name, Bits, Default)
DIAGOPT(Name, Bits, Default)
#endif
-DIAGOPT(IgnoreWarnings, 1, 0) /// -w
+#ifndef SEMANTIC_DIAGOPT
+# define SEMANTIC_DIAGOPT(Name, Bits, Default) DIAGOPT(Name, Bits, Default)
+#endif
+
+#ifndef SEMANTIC_VALUE_DIAGOPT
+# define SEMANTIC_VALUE_DIAGOPT(Name, Bits, Default) \
+ VALUE_DIAGOPT(Name, Bits, Default)
+#endif
+
+#ifndef SEMANTIC_ENUM_DIAGOPT
+# define SEMANTIC_ENUM_DIAGOPT(Name, Type, Bits, Default) \
+ ENUM_DIAGOPT(Name, Type, Bits, Default)
+#endif
+
+SEMANTIC_DIAGOPT(IgnoreWarnings, 1, 0) /// -w
DIAGOPT(NoRewriteMacros, 1, 0) /// -Wno-rewrite-macros
DIAGOPT(Pedantic, 1, 0) /// -pedantic
DIAGOPT(PedanticErrors, 1, 0) /// -pedantic-errors
@@ -50,12 +66,27 @@ DIAGOPT(ShowColors, 1, 0) /// Show diagnostics with ANSI color sequences.
ENUM_DIAGOPT(ShowOverloads, OverloadsShown, 1,
Ovl_All) /// Overload candidates to show.
DIAGOPT(VerifyDiagnostics, 1, 0) /// Check that diagnostics match the expected
- /// diagnostics, indicated by markers in the
- /// input source file.
+ /// diagnostics, indicated by markers in the
+ /// input source file.
DIAGOPT(ElideType, 1, 0) /// Elide identical types in template diffing
DIAGOPT(ShowTemplateTree, 1, 0) /// Print a template tree when diffing
+VALUE_DIAGOPT(ErrorLimit, 32, 0) /// Limit # errors emitted.
+/// Limit depth of macro expansion backtrace.
+VALUE_DIAGOPT(MacroBacktraceLimit, 32, DefaultMacroBacktraceLimit)
+/// Limit depth of instantiation backtrace.
+VALUE_DIAGOPT(TemplateBacktraceLimit, 32, DefaultTemplateBacktraceLimit)
+/// Limit depth of constexpr backtrace.
+VALUE_DIAGOPT(ConstexprBacktraceLimit, 32, DefaultConstexprBacktraceLimit)
+
+VALUE_DIAGOPT(TabStop, 32, DefaultTabStop) /// The distance between tab stops.
+/// Column limit for formatting message diagnostics, or 0 if unused.
+VALUE_DIAGOPT(MessageLength, 32, 0)
+
#undef DIAGOPT
#undef ENUM_DIAGOPT
#undef VALUE_DIAGOPT
+#undef SEMANTIC_DIAGOPT
+#undef SEMANTIC_ENUM_DIAGOPT
+#undef SEMANTIC_