1//===--- PreprocessorOutputOptions.h ----------------------------*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef LLVM_CLANG_FRONTEND_PREPROCESSOROUTPUTOPTIONS_H
11#define LLVM_CLANG_FRONTEND_PREPROCESSOROUTPUTOPTIONS_H
12
13namespace clang {
14
15/// PreprocessorOutputOptions - Options for controlling the C preprocessor
16/// output (e.g., -E).
17class PreprocessorOutputOptions {
18public:
19  unsigned ShowCPP : 1;            ///< Print normal preprocessed output.
20  unsigned ShowComments : 1;       ///< Show comments.
21  unsigned ShowLineMarkers : 1;    ///< Show \#line markers.
22  unsigned ShowMacroComments : 1;  ///< Show comments, even in macros.
23  unsigned ShowMacros : 1;         ///< Print macro definitions.
24  unsigned RewriteIncludes : 1;    ///< Preprocess include directives only.
25
26public:
27  PreprocessorOutputOptions() {
28    ShowCPP = 0;
29    ShowComments = 0;
30    ShowLineMarkers = 1;
31    ShowMacroComments = 0;
32    ShowMacros = 0;
33    RewriteIncludes = 0;
34  }
35};
36
37}  // end namespace clang
38
39#endif
40