Issue 174256
Summary -Wmissing-designated-field-initializers complains even when the field has a default CTOR
Labels new issue
Assignees
Reporter kcc
    ```
cat ~/tmp/missing-designated-field-initializer-test.cpp
struct Foo {
  Foo(){} // CTOR
};

struct Bar {
  int a{};
  Foo foo;
};

Bar getBar() {
 return {.a = 42};
}
```

```
~/LLVM-21.1.0-Linux-X64/bin/clang -c -Wmissing-designated-field-initializers ~/tmp/missing-designated-field-initializer-test.cpp
.../tmp/missing-designated-field-initializer-test.cpp:11:18: warning: missing field 'foo' initializer [-Wmissing-designated-field-initializers]
   11 |   return {.a = 42};
 |                  ^
1 warning generated.
```

This warning would be extremely useful if `foo` didn't have a constructor, but in this case this warning is just a noise.

_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to