[clang] [Clang] Support libstdc++ workarounds when using `-E` (PR #210802)
Shafik Yaghmour via cfe-commits
cfe-commits at lists.llvm.org
Fri Aug 14 13:55:01 PDT 2026
================
@@ -0,0 +1,27 @@
+// RUN: %clang_cc1 -E -verify %s
+
+#pragma clang __set_pp_state // expected-error {{expected identifier after '#pragma clang __set_pp_state'}}
+#pragma clang __set_pp_state 123984 // expected-error {{expected identifier after '#pragma clang __set_pp_state'}}
+
+#pragma clang __set_pp_state foo // expected-error {{invalid argument 'foo' in '#pragma clang __set_pp_state'}}
+#pragma clang __set_pp_state void // expected-error {{invalid argument 'void' in '#pragma clang __set_pp_state'}}
+
+#pragma clang __set_pp_state __GLIBCXX__ foo // expected-error {{expected integer after '#pragma clang __set_pp_state __GLIBCXX__'}}
+#pragma clang __set_pp_state __GLIBCXX__ 100000000000000000000000000000 // expected-error {{expected integer after '#pragma clang __set_pp_state __GLIBCXX__'}}
----------------
shafik wrote:
Do we expect boolean, binary interer or hex integer literals to work?
Maybe check char and string literals.
nullptr?
https://github.com/llvm/llvm-project/pull/210802
More information about the cfe-commits
mailing list