https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97665

            Bug ID: 97665
           Summary: constexpr union array member incorrectly rejected as
                    non-constexpr
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ldalessandro at gmail dot com
  Target Milestone: ---

GCC currently rejects the following code snippet, where it infers the constexpr
definition of V as non-constexpr. The monostate member provides a temporary
workaround.

https://godbolt.org/z/Ph1n1P

```
struct Foo {
    constexpr Foo() {}
};

union U {
   // struct {} monostate = {};
    Foo foo;
    constexpr U() {}
};

struct V {
    U storage[1];
};

constexpr V v;
```

Reply via email to