1775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar//===--- PreprocessorOutputOptions.h ----------------------------*- C++ -*-===//
2775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar//
3775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar//                     The LLVM Compiler Infrastructure
4775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar//
5775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar// This file is distributed under the University of Illinois Open Source
6775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar// License. See LICENSE.TXT for details.
7775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar//
8775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar//===----------------------------------------------------------------------===//
9775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar
10775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar#ifndef LLVM_CLANG_FRONTEND_PREPROCESSOROUTPUTOPTIONS_H
11775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar#define LLVM_CLANG_FRONTEND_PREPROCESSOROUTPUTOPTIONS_H
12775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar
13775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbarnamespace clang {
14775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar
15775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar/// PreprocessorOutputOptions - Options for controlling the C preprocessor
16775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar/// output (e.g., -E).
17775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbarclass PreprocessorOutputOptions {
18775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbarpublic:
19f7c16d903f11814e2d6780e2a2e189b7a7afc4edDaniel Dunbar  unsigned ShowCPP : 1;            ///< Print normal preprocessed output.
20f7c16d903f11814e2d6780e2a2e189b7a7afc4edDaniel Dunbar  unsigned ShowComments : 1;       ///< Show comments.
21809d1be9820039b4cf6efa48246a0d70ffa13394James Dennett  unsigned ShowLineMarkers : 1;    ///< Show \#line markers.
22f7c16d903f11814e2d6780e2a2e189b7a7afc4edDaniel Dunbar  unsigned ShowMacroComments : 1;  ///< Show comments, even in macros.
23f7c16d903f11814e2d6780e2a2e189b7a7afc4edDaniel Dunbar  unsigned ShowMacros : 1;         ///< Print macro definitions.
24f1492f970c7c6eb85dc18f13fb864b185bed1d23David Blaikie  unsigned RewriteIncludes : 1;    ///< Preprocess include directives only.
25775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar
26775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbarpublic:
27775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar  PreprocessorOutputOptions() {
2874c2498bb9e339345ee32bdd095e76157cec3b86Jordan Rose    ShowCPP = 0;
29775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar    ShowComments = 0;
30f7c16d903f11814e2d6780e2a2e189b7a7afc4edDaniel Dunbar    ShowLineMarkers = 1;
31775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar    ShowMacroComments = 0;
32f7c16d903f11814e2d6780e2a2e189b7a7afc4edDaniel Dunbar    ShowMacros = 0;
33f1492f970c7c6eb85dc18f13fb864b185bed1d23David Blaikie    RewriteIncludes = 0;
34775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar  }
35775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar};
36775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar
37775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar}  // end namespace clang
38775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar
39775bee71ad21c84bc130af22ac47c1c8e0f9e72fDaniel Dunbar#endif
40