Home | History | Annotate | Download | only in Lex

Lines Matching full:identifier

37   assert(II->hadMacroDefinition() && "Identifier has not been not a macro!");
40 assert(Pos != Macros.end() && "Identifier macro info is missing!");
65 // Setup the identifier as having associated macro history.
71 /// RegisterBuiltinMacro - Register the specified identifier in the identifier
74 // Get the identifier.
86 /// identifier table.
137 // If the token isn't an identifier, it's always literally expanded.
140 // If the information about this identifier is out of date, update it from
145 // If the identifier is a macro, and if that macro is enabled, it may be
157 // as long as the identifier is not a macro argument.
161 return false; // Identifier is a macro argument.
210 /// HandleMacroExpandedIdentifier - If an identifier token is read that is to be
211 /// expanded as a macro, handle it and return the next token as 'Identifier'.
212 bool Preprocessor::HandleMacroExpandedIdentifier(Token &Identifier,
225 if (Callbacks) Callbacks->MacroExpands(Identifier, MD,
226 Identifier.getLocation(),/*Args=*/0);
227 ExpandBuiltinMacro(Identifier);
237 // macro, this is the identifier. For a function-like macro, this is the ')'.
238 SourceLocation ExpansionEnd = Identifier.getLocation();
251 Args = ReadFunctionLikeMacroArgs(Identifier, MI, ExpansionEnd);
268 SourceLocation ExpandLoc = Identifier.getLocation();
278 MacroExpandsInfo(Identifier, MD, ExpansionRange));
280 Callbacks->MacroExpands(Identifier, MD, ExpansionRange, Args);
294 Diag(Identifier, diag::warn_pp_ambiguous_macro)
295 << Identifier.getIdentifierInfo();
297 << Identifier.getIdentifierInfo();
304 << Identifier.getIdentifierInfo();
319 bool HadLeadingSpace = Identifier.hasLeadingSpace();
320 bool IsAtStartOfLine = Identifier.isAtStartOfLine();
322 Lex(Identifier);
324 // If the identifier isn't on some OTHER line, inherit the leading
328 if (!Identifier.isAtStartOfLine()) {
329 if (IsAtStartOfLine) Identifier.setFlag(Token::StartOfLine);
330 if (HadLeadingSpace) Identifier.setFlag(Token::LeadingSpace);
332 Identifier.setFlag(Token::LeadingEmptyMacro);
337 isTrivialSingleTokenExpansion(MI, Identifier.getIdentifierInfo(),
347 // identifier to the expanded token.
348 bool isAtStartOfLine = Identifier.isAtStartOfLine();
349 bool hasLeadingSpace = Identifier.hasLeadingSpace();
352 Identifier = MI->getReplacementToken(0);
355 Identifier.setFlagValue(Token::StartOfLine , isAtStartOfLine);
356 Identifier.setFlagValue(Token::LeadingSpace, hasLeadingSpace);
361 SourceMgr.createExpansionLoc(Identifier.getLocation(), ExpandLoc,
362 ExpansionEnd,Identifier.getLength());
363 Identifier.setLocation(Loc);
367 if (IdentifierInfo *NewII = Identifier.getIdentifierInfo()) {
370 Identifier.setFlag(Token::DisableExpand);
374 Diag(Identifier, diag::pp_disabled_macro_expansion);
378 // Since this is not an identifier token, it can't be macro expanded, so
385 EnterMacro(Identifier, ExpansionEnd, MI, Args);
389 Lex(Identifier);
841 /// the identifier tokens inserted.
876 /// specified by the identifier as a standard language feature.
1019 /// specified by the identifier, either as an extension or a standard language
1064 /// specified by the given identifier.
1212 /// \brief Process __building_module(identifier) expression.
1231 // Ensure that we have an identifier.
1232 if (Tok.isNot(tok::identifier)) {
1253 /// ExpandBuiltinMacro - If an identifier token is read that is to be expanded
1387 // The argument to these builtins should be a parenthesized identifier.
1396 // Read the identifier
1439 // The argument to these builtins should be a parenthesized identifier.
1488 // The argument to this builtin should be an identifier. The
1489 // builtin evaluates to 1 when that identifier names the module we are
1494 // The current module as an identifier.
1500 llvm_unreachable("Unknown identifier!");