[Bug c++/54020] [c++0x] incorrectly accepted constexpr functions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54020 Paolo Carlini paolo.carlini at oracle dot com changed: What|Removed |Added CC||jason at gcc dot gnu.org --- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2012-07-25 09:39:36 UTC --- Let's add Jason in CC (about the -O0 vs -O2 thing, in particular)
[Bug c++/54020] [c++0x] incorrectly accepted constexpr functions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54020 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2012-07-25 AssignedTo|unassigned at gcc dot |jason at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #4 from Jason Merrill jason at gcc dot gnu.org 2012-07-25 13:53:22 UTC --- This testcase behaves the same at -O0 or -O2. Seems like a simple enough enhancement, though.
[Bug c++/54020] [c++0x] incorrectly accepted constexpr functions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54020 --- Comment #5 from Jason Merrill jason at gcc dot gnu.org 2012-07-25 14:57:01 UTC --- Author: jason Date: Wed Jul 25 14:56:57 2012 New Revision: 189851 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=189851 Log: PR c++/54020 * semantics.c (potential_constant_expression_1) [COND_EXPR]: Call maybe_constant_value. Added: trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-neg2.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/semantics.c
[Bug c++/54020] [c++0x] incorrectly accepted constexpr functions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54020 Jason Merrill jason at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.8.0 Severity|normal |enhancement --- Comment #6 from Jason Merrill jason at gcc dot gnu.org 2012-07-25 15:04:27 UTC --- Fixed for 4.8.
[Bug c++/54020] [c++0x] incorrectly accepted constexpr functions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54020 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2012-07-19 06:40:41 UTC --- ... the program is ill-formed; no diagnostic required. ^^^ GCC doesn't immediately see that the first operand of ?: is zero or non-zero in that function, so assumes it could be either zero or non-zero and doesn't diagnose, you get diagnostics only when you are actually using the function in some constexpr var initializer or other context where a constant expression is required.
[Bug c++/54020] [c++0x] incorrectly accepted constexpr functions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54020 --- Comment #2 from Andy Lutomirski luto at mit dot edu 2012-07-19 15:41:51 UTC --- I clearly failed at reading comprehension yesterday. Maybe this should be considered as more of an enhancement request (like PR54021): it would be nicer for the user if constexpr worked the same with an without optimization. Otherwise there'll probably be reports of code that builds at -O2 but not -O0.