summaryrefslogtreecommitdiff
path: root/clang-r353983e/include/clang/Frontend/PreprocessorOutputOptions.h
diff options
context:
space:
mode:
Diffstat (limited to 'clang-r353983e/include/clang/Frontend/PreprocessorOutputOptions.h')
-rw-r--r--clang-r353983e/include/clang/Frontend/PreprocessorOutputOptions.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/clang-r353983e/include/clang/Frontend/PreprocessorOutputOptions.h b/clang-r353983e/include/clang/Frontend/PreprocessorOutputOptions.h
new file mode 100644
index 00000000..72e5ad11
--- /dev/null
+++ b/clang-r353983e/include/clang/Frontend/PreprocessorOutputOptions.h
@@ -0,0 +1,44 @@
+//===--- PreprocessorOutputOptions.h ----------------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_CLANG_FRONTEND_PREPROCESSOROUTPUTOPTIONS_H
+#define LLVM_CLANG_FRONTEND_PREPROCESSOROUTPUTOPTIONS_H
+
+namespace clang {
+
+/// PreprocessorOutputOptions - Options for controlling the C preprocessor
+/// output (e.g., -E).
+class PreprocessorOutputOptions {
+public:
+ unsigned ShowCPP : 1; ///< Print normal preprocessed output.
+ unsigned ShowComments : 1; ///< Show comments.
+ unsigned ShowLineMarkers : 1; ///< Show \#line markers.
+ unsigned UseLineDirectives : 1; ///< Use \#line instead of GCC-style \# N.
+ unsigned ShowMacroComments : 1; ///< Show comments, even in macros.
+ unsigned ShowMacros : 1; ///< Print macro definitions.
+ unsigned ShowIncludeDirectives : 1; ///< Print includes, imports etc. within preprocessed output.
+ unsigned RewriteIncludes : 1; ///< Preprocess include directives only.
+ unsigned RewriteImports : 1; ///< Include contents of transitively-imported modules.
+
+public:
+ PreprocessorOutputOptions() {
+ ShowCPP = 0;
+ ShowComments = 0;
+ ShowLineMarkers = 1;
+ UseLineDirectives = 0;
+ ShowMacroComments = 0;
+ ShowMacros = 0;
+ ShowIncludeDirectives = 0;
+ RewriteIncludes = 0;
+ RewriteImports = 0;
+ }
+};
+
+} // end namespace clang
+
+#endif