[clang] Add Clang attribute to ensure that fields are initialized explicitly (PR #102040)

via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 27 10:14:11 PDT 2024


================
@@ -3141,6 +3148,10 @@ def warn_attribute_ignored_no_calls_in_stmt: Warning<
   "statement">,
   InGroup<IgnoredAttributes>;
 
+def warn_attribute_needs_aggregate : Warning<
----------------
higher-performance wrote:

I think I disagree. It's not really erroneous to do this, conceptually speaking. It's just a no-op, because in these cases there is never a situation where the user directly initializes the fields to begin with.

Moreover, if in the future versions of the compiler we decide to allow it in some fashion, then suddenly earlier compiler versions would produce a hard error, making it impossible for users to switch back to old compilers with their new code. I don't see any gain for us in making life hard for users like that; we might as well make it a warning.

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


More information about the cfe-commits mailing list