================
@@ -40,8 +40,12 @@ let CategoryName = "Parse Issue" in {
def ext_empty_translation_unit : Extension<
"ISO C requires a translation unit to contain at least one declaration">,
InGroup<DiagGroup<"empty-translation-unit">>;
-def warn_cxx98_compat_top_level_semi : Warning<
- "extra ';' outside of a function is incompatible with C++98">,
+def warn_cxx98_compat_extra_semi : Warning<
+ "%select{|||multiple }0extra ';' %select{"
+ "outside of a function|"
+ "inside a %1|"
+ "inside instance variable list|"
----------------
keinflue wrote:
I am also not very familiar with Objective-C, but I added a test case for the
"inside instance variable list" of the `ext_extra_semi` diagnostic.
For the `warn_cxx98_compat_extra_semi` and `ext_extra_semi_cxx11` diagnostics,
this variant can not happen. The other variants will still occur in usual C++
constructs, but not ObjC-specific constructs. I don't think this is usually
tested twice with both `-x c++`/`-x objective-c++`.
This test case made me realize though, that maybe it would be a good idea to
also apply the new C++ behavior of allowing semicolons inside classes to
Objective-C variable instance lists as well. I don't think there is any
specification or reference for this, so maybe someone familiar with Objective-C
could give the opinion? I tested GCC and it doesn't provide a warning for this
with `-Wextra-semi` or `-pedantic` at all.
https://github.com/llvm/llvm-project/pull/172209
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits