clang API Documentation

PreprocessorOutputOptions.h
Go to the documentation of this file.
00001 //===--- PreprocessorOutputOptions.h ----------------------------*- C++ -*-===//
00002 //
00003 //                     The LLVM Compiler Infrastructure
00004 //
00005 // This file is distributed under the University of Illinois Open Source
00006 // License. See LICENSE.TXT for details.
00007 //
00008 //===----------------------------------------------------------------------===//
00009 
00010 #ifndef LLVM_CLANG_FRONTEND_PREPROCESSOROUTPUTOPTIONS_H
00011 #define LLVM_CLANG_FRONTEND_PREPROCESSOROUTPUTOPTIONS_H
00012 
00013 namespace clang {
00014 
00015 /// PreprocessorOutputOptions - Options for controlling the C preprocessor
00016 /// output (e.g., -E).
00017 class PreprocessorOutputOptions {
00018 public:
00019   unsigned ShowCPP : 1;            ///< Print normal preprocessed output.
00020   unsigned ShowComments : 1;       ///< Show comments.
00021   unsigned ShowLineMarkers : 1;    ///< Show \#line markers.
00022   unsigned ShowMacroComments : 1;  ///< Show comments, even in macros.
00023   unsigned ShowMacros : 1;         ///< Print macro definitions.
00024   unsigned RewriteIncludes : 1;    ///< Preprocess include directives only.
00025 
00026 public:
00027   PreprocessorOutputOptions() {
00028     ShowCPP = 0;
00029     ShowComments = 0;
00030     ShowLineMarkers = 1;
00031     ShowMacroComments = 0;
00032     ShowMacros = 0;
00033     RewriteIncludes = 0;
00034   }
00035 };
00036 
00037 }  // end namespace clang
00038 
00039 #endif