This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/46003] cond5.C fails for ARM EABI tests.
- From: "yufeng at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 3 Jun 2011 10:49:30 +0000
- Subject: [Bug c++/46003] cond5.C fails for ARM EABI tests.
- Auto-submitted: auto-generated
- References: <bug-46003-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46003
Yufeng Zhang <yufeng at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
CC| |yufeng at gcc dot gnu.org
AssignedTo|unassigned at gcc dot |yufeng at gcc dot gnu.org
|gnu.org |
--- Comment #5 from Yufeng Zhang <yufeng at gcc dot gnu.org> 2011-06-03 10:48:29 UTC ---
(In reply to comment #4)
> Test g++.dg/template/cond5.C started failing for arm-none-linux-gnueabi with
> this patch:
>
> r132158 | aoliva | 2008-02-06 20:31:43 +0000 (Wed, 06 Feb 2008) | 10 lines
>
> gcc/cp/ChangeLog:
> PR c++/35056
> * tree.c: Include tree-flow.h.
> (build_target_expr): Check type compatibility.
The type checking introduced by this commit to build_target_expr is indeed
where the ICE occurs, i.e. the assertion failure. The added type-checking
exposes the problem.
Jason Merrill has suggested updating build_conditional_expr to "have a template
case that just determines the appropriate type and then builds up a COND_EXPR
with that type from the unconverted operands, like we do for calls in
finish_call_expr" (http://gcc.gnu.org/ml/gcc-patches/2011-03/msg00164.html)
I've been distracted by other work, but will come back to this very soon.