--- Additional Comments From roger at eyesopen dot com 2005-04-23 16:24
---
This is actually a C++ front-end bug. It looks like on the 3.4 branch
ocp_convert is calling "fold" instead of "fold_if_not_in_template" (which
is what happens on mainline). This call to "fold" triggers a chain
--- Additional Comments From reichelt at gcc dot gnu dot org 2005-04-14
08:39 ---
Shorter testcase:
==
template void foo()
{
double d = (N ? 0.0 : 0) + 1;
}
==
--
What|Removed
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-04-13
18:59 ---
: Search converges between 2004-01-25-trunk (#440) and 2004-01-26-trunk (#441).
: Search converges between 2004-05-20-trunk (#457) and 2004-05-23-trunk (#458).
Looking at the construct, I almost want to say
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-04-13
17:50 ---
It does not ICE with "3.4.0 20040116" but does with "3.4.0 (release)".
--
What|Removed |Added
--- Additional Comments From bangerth at dealii dot org 2005-04-13 15:29
---
Note that it isn't related to PR 19899, even though the failure seems similar.
I should also note that the ICE happened with a compiler that had checking
enabled.
If checking is disabled, we simply get this: