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

            Bug ID: 113579
           Summary: GCC leaks memory inside when using statement
                    expressions
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: usaxena95 at gmail dot com
  Target Milestone: ---

https://godbolt.org/z/dGT6K9a5e

#include <iostream>

struct Printy {
    Printy(const char *name) : name(name) {
        std::cout << "Printy(" << name << ")\n";
    }
    ~Printy() { std::cout << "~Printy(" << name << ")\n"; }
    const char *name;
};

int main() {
    Printy arr[] = {Printy("a"), ({ // Printy is leaked.
                        Printy("b");
                        return {};
                        Printy("c");
                    })};
    return 0;
}

Reply via email to