https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118237
Bug ID: 118237 Summary: failure to compile constexpr variable initialization with properly destroyed allocation inside the expression Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: hanicka at hanicka dot net Target Milestone: --- Hi, I was looking into dynamic allocation tracking, and found simple example which fails to compile: `constexpr auto f = (delete new int{42}, 32);` It seems GCC is not tracking dynamic allocations inside RHS of constexpr variable definition. This should be valid according to [expr.const] as the allocation is destroyed within evaluation of E (here `(delete new int{42}, 32)`) Other compilers do accept this snipper: https://compiler-explorer.com/z/zeae1MP9d The bug is present in all versions of GCC since support dynamic allocations inside constant evaluation (GCC 10).