clang API Documentation
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