Lines Matching full:preprocessor
1 //===--- PPDirectives.cpp - Directive Handling for Preprocessor -----------===//
11 /// \brief Implements # directive processing for the Preprocessor.
15 #include "clang/Lex/Preprocessor.h"
31 // Utility Methods for Preprocessor Directive Handling.
34 MacroInfo *Preprocessor::AllocateMacroInfo() {
54 MacroInfo *Preprocessor::AllocateMacroInfo(SourceLocation L) {
60 MacroDirective *Preprocessor::AllocateMacroDirective(MacroInfo *MI,
70 void Preprocessor::ReleaseMacroInfo(MacroInfo *MI) {
91 void Preprocessor::DiscardUntilEndOfDirective() {
106 void Preprocessor::ReadMacroName(Token &MacroNameTok, char isDefineUndef) {
169 void Preprocessor::CheckEndOfDirective(const char *DirType, bool EnableMacros) {
208 void Preprocessor::SkipExcludedConditionalBlock(SourceLocation IfTokenLoc,
252 // If this token is not a preprocessor directive, just skip it.
424 void Preprocessor::PTHSkipExcludedConditionalBlock() {
503 const FileEntry *Preprocessor::LookupFile(
521 // it won't be scanned for preprocessor directives. If we have the
567 // Preprocessor Directive Handling.
570 class Preprocessor::ResetMacroExpansionHelper {
572 ResetMacroExpansionHelper(Preprocessor *pp)
581 Preprocessor *PP;
587 /// lexer/preprocessor state, and advances the lexer(s) so that the next token
589 void Preprocessor::HandleDirective(Token &Result) {
612 // C99 6.10.3p11: Is this preprocessor directive in macro invocation? e.g.:
652 break; // # 4 is not a preprocessor directive in .S files.
658 // Ask what the preprocessor keyword ID is.
734 // If this is a .S file, treat unknown # directives as non-preprocessor
768 unsigned DiagID, Preprocessor &PP) {
819 void Preprocessor::HandleLineDirective(Token &Tok) {
886 Preprocessor &PP) {
968 void Preprocessor::HandleDigitDirective(Token &DigitTok) {
1016 // If the preprocessor has callbacks installed, notify them of the #line
1038 void Preprocessor::HandleUserDiagnosticDirective(Token &Tok,
1064 void Preprocessor::HandleIdentSCCSDirective(Token &Tok) {
1098 void Preprocessor::HandleMacroPublicDirective(Token &Tok) {
1129 void Preprocessor::HandleMacroPrivateDirective(Token &Tok) {
1160 // Preprocessor Include Directive Handling.
1169 bool Preprocessor::GetIncludeFilenameSpelling(SourceLocation Loc,
1221 bool Preprocessor::ConcatenateIncludeName(
1275 void Preprocessor::HandleIncludeDirective(SourceLocation HashLoc,
1549 void Preprocessor::HandleIncludeNextDirective(SourceLocation HashLoc,
1571 void Preprocessor::HandleMicrosoftImportDirective(Token &Tok) {
1586 void Preprocessor::HandleImportDirective(SourceLocation HashLoc,
1598 /// tokens through the preprocessor and discarding them (only keeping the side
1599 /// effects on the preprocessor).
1600 void Preprocessor::HandleIncludeMacrosDirective(SourceLocation HashLoc,
1624 // Preprocessor Macro Directive Handling.
1631 bool Preprocessor::ReadMacroDefinitionArgList(MacroInfo *MI, Token &Tok) {
1724 void Preprocessor::HandleDefineDirective(Token &DefineTok) {
1870 // the kind of the token to tok::unknown so that the preprocessor isn't
1963 void Preprocessor::HandleUndefDirective(Token &UndefTok) {
1998 void Preprocessor::UndefineMacro(IdentifierInfo *II, MacroDirective *MD,
2012 // Preprocessor Conditional Directive Handling.
2020 void Preprocessor::HandleIfdefDirective(Token &Result, bool isIfndef,
2083 void Preprocessor::HandleIfDirective(Token &IfToken,
2120 void Preprocessor::HandleEndifDirective(Token &EndifToken) {
2146 void Preprocessor::HandleElseDirective(Token &Result) {
2175 void Preprocessor::HandleElifDirective(Token &ElifToken) {