1199482Srdivacky//===--- PreprocessorOutputOptions.h ----------------------------*- C++ -*-===//
2199482Srdivacky//
3199482Srdivacky//                     The LLVM Compiler Infrastructure
4199482Srdivacky//
5199482Srdivacky// This file is distributed under the University of Illinois Open Source
6199482Srdivacky// License. See LICENSE.TXT for details.
7199482Srdivacky//
8199482Srdivacky//===----------------------------------------------------------------------===//
9199482Srdivacky
10199482Srdivacky#ifndef LLVM_CLANG_FRONTEND_PREPROCESSOROUTPUTOPTIONS_H
11199482Srdivacky#define LLVM_CLANG_FRONTEND_PREPROCESSOROUTPUTOPTIONS_H
12199482Srdivacky
13199482Srdivackynamespace clang {
14199482Srdivacky
15199482Srdivacky/// PreprocessorOutputOptions - Options for controlling the C preprocessor
16199482Srdivacky/// output (e.g., -E).
17199482Srdivackyclass PreprocessorOutputOptions {
18199482Srdivackypublic:
19212904Sdim  unsigned ShowCPP : 1;            ///< Print normal preprocessed output.
20212904Sdim  unsigned ShowComments : 1;       ///< Show comments.
21239462Sdim  unsigned ShowLineMarkers : 1;    ///< Show \#line markers.
22212904Sdim  unsigned ShowMacroComments : 1;  ///< Show comments, even in macros.
23212904Sdim  unsigned ShowMacros : 1;         ///< Print macro definitions.
24239462Sdim  unsigned RewriteIncludes : 1;    ///< Preprocess include directives only.
25199482Srdivacky
26199482Srdivackypublic:
27199482Srdivacky  PreprocessorOutputOptions() {
28249423Sdim    ShowCPP = 0;
29212904Sdim    ShowComments = 0;
30199482Srdivacky    ShowLineMarkers = 1;
31199482Srdivacky    ShowMacroComments = 0;
32212904Sdim    ShowMacros = 0;
33239462Sdim    RewriteIncludes = 0;
34199482Srdivacky  }
35199482Srdivacky};
36199482Srdivacky
37199482Srdivacky}  // end namespace clang
38199482Srdivacky
39199482Srdivacky#endif
40