[clang] [C23] Implement N3018: The constexpr specifier for object definitions (PR #73099)
Aaron Ballman via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 28 09:00:02 PST 2023
================
@@ -2932,6 +2932,22 @@ def warn_private_extern : Warning<
def note_private_extern : Note<
"use __attribute__((visibility(\"hidden\"))) attribute instead">;
+// C23 constexpr
+def err_c23_thread_local_constexpr : Error<
+ "thread-local storage is not allowed with constexpr">;
+def err_c23_extern_constexpr : Error<
+ "extern specifier is not allowed with constexpr">;
----------------
AaronBallman wrote:
I think we want to reuse `err_invalid_decl_spec_combination` for these diagnostics; and probably issue the diagnostic from `DeclSpec::Finish()` as well (which is where we diagnose other invalid combinations of declaration specifiers).
https://github.com/llvm/llvm-project/pull/73099
More information about the cfe-commits
mailing list