[Bug c++/90940] [9/10 Regression] Miscompilation of ternary operator with throw expression in return statement

2019-06-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90940 Jonathan Wakely changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug c++/90940] [9/10 Regression] Miscompilation of ternary operator with throw expression in return statement

2019-06-19 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90940 Marek Polacek changed: What|Removed |Added CC||mpolacek at gcc dot gnu.org --- Comment

[Bug c++/90940] [9/10 Regression] Miscompilation of ternary operator with throw expression in return statement

2019-06-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90940 --- Comment #3 from Jonathan Wakely --- Oh, and for completeness, the ICE case reduced: extern "C" void* malloc(decltype(sizeof(0))); extern "C" void free(void*); struct string { string(int) : s(malloc(1)) { } ~string() { free(s); }

[Bug c++/90940] [9/10 Regression] Miscompilation of ternary operator with throw expression in return statement

2019-06-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90940 --- Comment #2 from Jonathan Wakely --- Reduced example showing double free, which started with the same revision as the ICE: extern "C" void* malloc(decltype(sizeof(0))); extern "C" void free(void*); struct string { string(int) :

[Bug c++/90940] [9/10 Regression] Miscompilation of ternary operator with throw expression in return statement

2019-06-19 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90940 Jonathan Wakely changed: What|Removed |Added Status|UNCONFIRMED |NEW Known to work|