clang 20.0.0git
|
#include "clang/Basic/CharInfo.h"
#include "clang/Basic/Diagnostic.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Frontend/PreprocessorOutputOptions.h"
#include "clang/Frontend/Utils.h"
#include "clang/Lex/MacroInfo.h"
#include "clang/Lex/PPCallbacks.h"
#include "clang/Lex/Pragma.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/Lex/TokenConcatenation.h"
#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.
Typedefs | |
typedef std::pair< const IdentifierInfo *, MacroInfo * > | id_macro_pair |
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) |
typedef std::pair<const IdentifierInfo *, MacroInfo *> id_macro_pair |
Definition at line 1038 of file PrintPreprocessedOutput.cpp.
|
static |
Definition at line 1043 of file PrintPreprocessedOutput.cpp.
References E, clang::Preprocessor::EnterMainSourceFile(), clang::MacroDefinition::getMacroInfo(), clang::Preprocessor::IgnorePragmas(), clang::MacroInfo::isBuiltinMacro(), clang::Preprocessor::LexTokensUntilEOF(), clang::Preprocessor::macro_begin(), clang::Preprocessor::macro_end(), MacroIDCompare(), and PrintMacroDefinition().
Referenced by clang::DoPrintPreprocessedInput().
|
static |
Definition at line 1039 of file PrintPreprocessedOutput.cpp.
Referenced by DoPrintMacros().
|
static |
Definition at line 594 of file PrintPreprocessedOutput.cpp.
References clang::isPrintable().
|
static |
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().
|
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(), and clang::Token::needsCleaning().
Referenced by clang::DoPrintPreprocessedInput().