">

clang: lib/Frontend/PrintPreprocessedOutput.cpp File Reference (original) (raw)

#include "[clang/Basic/CharInfo.h](CharInfo%5F8h%5Fsource.html)"
#include "[clang/Basic/Diagnostic.h](Basic%5F2Diagnostic%5F8h%5Fsource.html)"
#include "[clang/Basic/SourceManager.h](SourceManager%5F8h%5Fsource.html)"
#include "[clang/Frontend/PreprocessorOutputOptions.h](PreprocessorOutputOptions%5F8h%5Fsource.html)"
#include "[clang/Frontend/Utils.h](Frontend%5F2Utils%5F8h%5Fsource.html)"
#include "[clang/Lex/MacroInfo.h](MacroInfo%5F8h%5Fsource.html)"
#include "[clang/Lex/PPCallbacks.h](PPCallbacks%5F8h%5Fsource.html)"
#include "[clang/Lex/Pragma.h](Pragma%5F8h%5Fsource.html)"
#include "[clang/Lex/Preprocessor.h](Preprocessor%5F8h%5Fsource.html)"
#include "[clang/Lex/TokenConcatenation.h](TokenConcatenation%5F8h%5Fsource.html)"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include <cstdio>

Go to the source code of this file.

Functions
static void PrintMacroDefinition (const IdentifierInfo &II, const MacroInfo &MI, Preprocessor &PP, raw_ostream *OS)
PrintMacroDefinition - Print a macro definition in a form that will be properly accepted back as a definition.
static void outputPrintable (raw_ostream *OS, StringRef Str)
static void PrintPreprocessedTokens (Preprocessor &PP, Token &Tok, PrintPPOutputPPCallbacks *Callbacks)
static int MacroIDCompare (const id_macro_pair *LHS, const id_macro_pair *RHS)
static void DoPrintMacros (Preprocessor &PP, raw_ostream *OS)

id_macro_pair

DoPrintMacros()

static void DoPrintMacros ( Preprocessor & PP, raw_ostream * OS ) static

MacroIDCompare()

outputPrintable()

static void outputPrintable ( raw_ostream * OS, StringRef Str ) static

PrintMacroDefinition()

PrintMacroDefinition - Print a macro definition in a form that will be properly accepted back as a definition.

Definition at line 34 of file PrintPreprocessedOutput.cpp.

References E, clang::IdentifierInfo::getName(), clang::Preprocessor::getSpelling(), clang::Token::hasLeadingSpace(), clang::MacroInfo::isFunctionLike(), clang::MacroInfo::isGNUVarargs(), clang::MacroInfo::param_begin(), clang::MacroInfo::param_empty(), clang::MacroInfo::param_end(), clang::T, clang::MacroInfo::tokens(), clang::MacroInfo::tokens_begin(), and clang::MacroInfo::tokens_empty().

Referenced by DoPrintMacros().

PrintPreprocessedTokens()

static void PrintPreprocessedTokens ( Preprocessor & PP, Token & Tok, PrintPPOutputPPCallbacks * Callbacks ) static

Definition at line 892 of file PrintPreprocessedOutput.cpp.

References Data, clang::Token::getAnnotationValue(), clang::Preprocessor::getCommentRetentionState(), clang::Module::getFullModuleName(), clang::Token::getIdentifierInfo(), clang::Token::getKind(), clang::Preprocessor::getLangOpts(), clang::Token::getLength(), clang::Token::getLiteralData(), clang::Preprocessor::getSpelling(), clang::Token::is(), clang::Token::isAnnotation(), clang::Token::isAtStartOfLine(), clang::Token::isLiteral(), Iter, clang::Preprocessor::Lex(), clang::Token::needsCleaning(), and clang::sema::Skip.

Referenced by clang::DoPrintPreprocessedInput().