[clang] [clang][Preprocessor] Fix expansion locations for feature-like builtin macros (PR #207130)
Macro Terra via cfe-commits
cfe-commits at lists.llvm.org
Thu Jul 9 10:46:19 PDT 2026
================
@@ -552,6 +552,25 @@ file './input.cpp'
}
}
+TEST_F(TokenCollectorTest, FeatureLikeBuiltinMacros) {
+ recordTokens("__has_builtin(__builtin_allow_runtime_check)\n");
+ EXPECT_THAT(Buffer.expandedTokens(),
+ ElementsAre(AllOf(Kind(tok::numeric_constant), HasText("1")),
+ Kind(tok::eof)));
+ auto ExpansionRange =
+ SourceMgr->getExpansionRange(findExpanded("1").front().location());
+ auto MacroInvocation =
+ findSpelled("__has_builtin ( __builtin_allow_runtime_check )");
+ EXPECT_EQ(MacroInvocation.front().location(), ExpansionRange.getBegin());
+ EXPECT_EQ(MacroInvocation.back().location(), ExpansionRange.getEnd());
+
----------------
hongtaihu wrote:
I did some changes.
https://github.com/llvm/llvm-project/pull/207130
More information about the cfe-commits
mailing list