/Users/buildslave/jenkins/workspace/coverage/llvm-project/clang/include/clang/Frontend/PreprocessorOutputOptions.h
Line | Count | Source |
1 | | //===--- PreprocessorOutputOptions.h ----------------------------*- C++ -*-===// |
2 | | // |
3 | | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 | | // See https://llvm.org/LICENSE.txt for license information. |
5 | | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 | | // |
7 | | //===----------------------------------------------------------------------===// |
8 | | |
9 | | #ifndef LLVM_CLANG_FRONTEND_PREPROCESSOROUTPUTOPTIONS_H |
10 | | #define LLVM_CLANG_FRONTEND_PREPROCESSOROUTPUTOPTIONS_H |
11 | | |
12 | | namespace clang { |
13 | | |
14 | | /// PreprocessorOutputOptions - Options for controlling the C preprocessor |
15 | | /// output (e.g., -E). |
16 | | class PreprocessorOutputOptions { |
17 | | public: |
18 | | unsigned ShowCPP : 1; ///< Print normal preprocessed output. |
19 | | unsigned ShowComments : 1; ///< Show comments. |
20 | | unsigned ShowLineMarkers : 1; ///< Show \#line markers. |
21 | | unsigned UseLineDirectives : 1; ///< Use \#line instead of GCC-style \# N. |
22 | | unsigned ShowMacroComments : 1; ///< Show comments, even in macros. |
23 | | unsigned ShowMacros : 1; ///< Print macro definitions. |
24 | | unsigned ShowIncludeDirectives : 1; ///< Print includes, imports etc. within preprocessed output. |
25 | | unsigned RewriteIncludes : 1; ///< Preprocess include directives only. |
26 | | unsigned RewriteImports : 1; ///< Include contents of transitively-imported modules. |
27 | | unsigned MinimizeWhitespace : 1; ///< Ignore whitespace from input. |
28 | | unsigned DirectivesOnly : 1; ///< Process directives but do not expand macros. |
29 | | |
30 | | public: |
31 | 193k | PreprocessorOutputOptions() { |
32 | 193k | ShowCPP = 0; |
33 | 193k | ShowComments = 0; |
34 | 193k | ShowLineMarkers = 1; |
35 | 193k | UseLineDirectives = 0; |
36 | 193k | ShowMacroComments = 0; |
37 | 193k | ShowMacros = 0; |
38 | 193k | ShowIncludeDirectives = 0; |
39 | 193k | RewriteIncludes = 0; |
40 | 193k | RewriteImports = 0; |
41 | 193k | MinimizeWhitespace = 0; |
42 | 193k | DirectivesOnly = 0; |
43 | 193k | } |
44 | | }; |
45 | | |
46 | | } // end namespace clang |
47 | | |
48 | | #endif |