[clang] [Clang] disallow constexpr with auto and explicit type in C23 (PR #163469)

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Wed Oct 15 11:57:13 PDT 2025


================
@@ -62,6 +62,8 @@ auto basic_usage(auto auto) {   // c23-error {{'auto' not allowed in function pr
 
   int auto_cxx_decl = auto(0);  // expected-error {{expected expression}}
 
+  constexpr auto int x = 0; // c23-error {{cannot combine with previous 'auto' declaration specifier}} \
----------------
AaronBallman wrote:

I think it's defensible as-is; WG14 is slowly moving `auto` to be a type specifier instead of a storage class specifier (https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3579.htm) so we may want to revisit this later.

https://github.com/llvm/llvm-project/pull/163469


More information about the cfe-commits mailing list