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

--- Comment #2 from Miro Palmu <miro.palmu at helsinki dot fi> ---
(In reply to Andrew Pinski from comment #1)
> Confirmed. We should reduce this to remove the include file too ...

Here is somewhat reduced:

```
#include <memory>

auto alloc = std::allocator<int>{};
constexpr auto n = 3;

struct vec {
    int* data;

    constexpr vec() {
        this->data = alloc.allocate(n);
    }

    constexpr ~vec() {
        alloc.deallocate(this->data, n);
    }
};

struct A {
  vec v;
  int a;
};

consteval auto foo() {
    A temp1{{}, 42}; // This compiles fine
    const A tmp2{{}, 42}; // This does not
}

int main() {
  foo();
}
```

Reply via email to