Juan Manuel Martinez =?utf-8?q?Caamaño?= <[email protected]>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/[email protected]>
================
@@ -371,8 +371,12 @@ bool Preprocessor::CheckMacroName(Token &MacroNameTok,
MacroUse isDefineUndef,
SourceLocation MacroNameLoc = MacroNameTok.getLocation();
if (ShadowFlag)
*ShadowFlag = false;
- if (!SourceMgr.isInSystemHeader(MacroNameLoc) &&
- (SourceMgr.getBufferName(MacroNameLoc) != "<built-in>")) {
+ // Macro names with reserved identifiers are accepted if built-in or passed
+ // through the command line (the later may be present if -dD was used to
+ // generate the preprocessed file).
+ bool IsBuiltinOrCmd = SourceMgr.isWrittenInBuiltinFile(MacroNameLoc) ||
+ SourceMgr.isWrittenInCommandLineFile(MacroNameLoc);
----------------
nikic wrote:
Can at least combine these to avoid the duplicate getPresumedLoc(), but
possibly these can be more efficient in general? E.g. isInSystemHeader has a
much more optimized implementation.
https://github.com/llvm/llvm-project/pull/137306
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits