[PATCH] D59223: Objective-C++11: Support static_assert() in @interface/@implementation ivar lists and method declarations

Aaron Ballman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 11 12:43:35 PDT 2019

aaron.ballman added inline comments.

Comment at: clang/lib/Parse/ParseDecl.cpp:3892-3893
+/// Note that a struct declaration refers to a declaration in a struct,
+/// not to the declaration of a struct.
Seems to be unrelated to this patch? Feel free to commit separately.

Comment at: clang/test/Parser/objc-static-assert.mm:1
+// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
Can you try explicitly specifying C++98 as the underlying language standard mode? I feel like `_Static_assert()` will continue to work there (because we made it a language extension in all modes) but `static_assert()` may fail (because that's gated on C++11 support). If that turns out to be the case, then I think `objc_static_assert` should be more complex than expanding to `true`, or we should talk about supporting `static_assert()` in all C++ language modes like we do for `_Static_assert()`.



More information about the cfe-commits mailing list