Lines Matching refs:Preprocessor
1 //===--- PPDirectives.cpp - Directive Handling for Preprocessor -----------===//
10 // This file implements # directive processing for the Preprocessor.
14 #include "clang/Lex/Preprocessor.h"
29 // Utility Methods for Preprocessor Directive Handling.
32 MacroInfo *Preprocessor::AllocateMacroInfo() {
52 MacroInfo *Preprocessor::AllocateMacroInfo(SourceLocation L) {
58 MacroInfo *Preprocessor::CloneMacroInfo(const MacroInfo &MacroToClone) {
66 void Preprocessor::ReleaseMacroInfo(MacroInfo *MI) {
87 void Preprocessor::DiscardUntilEndOfDirective() {
100 void Preprocessor::ReadMacroName(Token &MacroNameTok, char isDefineUndef) {
163 void Preprocessor::CheckEndOfDirective(const char *DirType, bool EnableMacros) {
202 void Preprocessor::SkipExcludedConditionalBlock(SourceLocation IfTokenLoc,
246 // If this token is not a preprocessor directive, just skip it.
408 void Preprocessor::PTHSkipExcludedConditionalBlock() {
490 const FileEntry *Preprocessor::LookupFile(
508 // it won't be scanned for preprocessor directives. If we have the
553 // Preprocessor Directive Handling.
558 /// lexer/preprocessor state, and advances the lexer(s) so that the next token
560 void Preprocessor::HandleDirective(Token &Result) {
582 // C99 6.10.3p11: Is this preprocessor directive in macro invocation? e.g.:
623 break; // # 4 is not a preprocessor directive in .S files.
629 // Ask what the preprocessor keyword ID is.
705 // If this is a .S file, treat unknown # directives as non-preprocessor
739 unsigned DiagID, Preprocessor &PP) {
794 void Preprocessor::HandleLineDirective(Token &Tok) {
858 Preprocessor &PP) {
940 void Preprocessor::HandleDigitDirective(Token &DigitTok) {
988 // If the preprocessor has callbacks installed, notify them of the #line
1010 void Preprocessor::HandleUserDiagnosticDirective(Token &Tok,
1038 void Preprocessor::HandleIdentSCCSDirective(Token &Tok) {
1072 void Preprocessor::HandleMacroPublicDirective(Token &Tok) {
1103 void Preprocessor::HandleMacroPrivateDirective(Token &Tok) {
1134 // Preprocessor Include Directive Handling.
1143 bool Preprocessor::GetIncludeFilenameSpelling(SourceLocation Loc,
1192 bool Preprocessor::ConcatenateIncludeName(
1246 void Preprocessor::HandleIncludeDirective(SourceLocation HashLoc,
1470 void Preprocessor::HandleIncludeNextDirective(SourceLocation HashLoc,
1492 void Preprocessor::HandleMicrosoftImportDirective(Token &Tok) {
1507 void Preprocessor::HandleImportDirective(SourceLocation HashLoc,
1519 /// tokens through the preprocessor and discarding them (only keeping the side
1520 /// effects on the preprocessor).
1521 void Preprocessor::HandleIncludeMacrosDirective(SourceLocation HashLoc,
1545 // Preprocessor Macro Directive Handling.
1552 bool Preprocessor::ReadMacroDefinitionArgList(MacroInfo *MI, Token &Tok) {
1639 void Preprocessor::HandleDefineDirective(Token &DefineTok) {
1756 // the kind of the token to tok::unknown so that the preprocessor isn't
1846 void Preprocessor::HandleUndefDirective(Token &UndefTok) {
1882 // Preprocessor Conditional Directive Handling.
1890 void Preprocessor::HandleIfdefDirective(Token &Result, bool isIfndef,
1952 void Preprocessor::HandleIfDirective(Token &IfToken,
1989 void Preprocessor::HandleEndifDirective(Token &EndifToken) {
2015 void Preprocessor::HandleElseDirective(Token &Result) {
2044 void Preprocessor::HandleElifDirective(Token &ElifToken) {