[Bug c++/18445] [3.4/4.0 Regression] ice during overload resolution in template instantiation
--- Additional Comments From reichelt at gcc dot gnu dot org 2005-09-17 20:58 --- The fix for the 3.4 branch had to be reverted, because it backported PR 18803. The problem will not be fixed on the 3.4 branch. It remains fixed on the 4.0 branch and mainline. -- What|Removed |Added Summary|[3.4 Regression] ice during |[3.4/4.0 Regression] ice |overload resolution in |during overload resolution |template instantiation |in template instantiation Target Milestone|3.4.5 |4.0.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18445
[Bug c++/18445] [3.4/4.0 Regression] ice during overload resolution in template instantiation
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-11-25 17:12 --- Subject: Bug 18445 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2004-11-25 17:11:37 Modified files: gcc: ChangeLog c-common.c c-common.h c-typeck.c toplev.c gcc/testsuite : ChangeLog gcc/testsuite/g++.dg/expr: unary2.C gcc/testsuite/g++.dg/ext: lvaddr.C gcc/testsuite/g++.dg/opt: pr7503-3.C gcc/testsuite/g++.old-deja/g++.other: friend7.C gcc/cp : ChangeLog class.c cp-tree.h decl.c name-lookup.c pt.c tree.c typeck.c Added files: gcc/testsuite/g++.dg/template: crash28.C gcc/testsuite/g++.dg/expr: return1.C gcc/testsuite/g++.dg/parse: qualified3.C Log message: PR c++/18001 * c-common.h (lvalue_use): Move here from c-ctypeck.c. (lvalue_or_else): Declare. * c-common.c (lvalue_or_else): Move here from c-typeck.c. * c-typeck.c (lvalue_use): Remove. (lvalue_or_else): Remove. PR c++/18556 * toplev.c (check_global_declarations): Set DECL_IGNORED_P on unemitted variables with static storage duration. PR c++/18445 * class.c (instantiate_type): Treat NON_DEPENDENT_EXPRs with unknown_type as non matching. Tidy up. * pt.c (build_non_dependent_expr): Do not build a NON_DEPENDENT_EXPR for a VAR_DECL. PR c++/18001 * cp-tree.h (lvalue_or_else): Remove declaration. * tree.c (lvalue_or_else): Remove. * typeck.c (build_unary_op): Adjust call to lvalue_or_else. (build_modify_expr): Likewise. PR c++/18625 * decl.c (duplicate_decls): Return error_mark_node on error, as specified. PR c++/18466 * decl.c (grokvardecl): Keep track of whether or not a there was explicit qualification. * name-lookup.c (set_decl_namespace): Complain about explicit qualification of a name within its own namespace. PR c++/18545 * typeck.c (check_return_expr): Robustify. PR c++/18445 * g++.dg/template/crash28.C: Likewise. PR c++/18001 * g++.dg/expr/unary2.C: Adjust lvalue messages. * g++.dg/ext/lvaddr.C: Likewise. * g++.dg/opt/pr7503-3.C: Likewise. PR c++/18466 * g++.dg/parse/qualified3.C: New test. * g++.old-deja/g++.other/friend7.C: Remove bogus qualification. PR c++/18545 * g++.dg/expr/return1.C: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gccr1=2.6549r2=2.6550 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-common.c.diff?cvsroot=gccr1=1.587r2=1.588 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-common.h.diff?cvsroot=gccr1=1.271r2=1.272 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-typeck.c.diff?cvsroot=gccr1=1.400r2=1.401 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/toplev.c.diff?cvsroot=gccr1=1.932r2=1.933 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gccr1=1.4648r2=1.4649 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/crash28.C.diff?cvsroot=gccr1=NONEr2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/expr/return1.C.diff?cvsroot=gccr1=NONEr2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/expr/unary2.C.diff?cvsroot=gccr1=1.1r2=1.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/ext/lvaddr.C.diff?cvsroot=gccr1=1.1r2=1.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/opt/pr7503-3.C.diff?cvsroot=gccr1=1.1r2=1.2 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/parse/qualified3.C.diff?cvsroot=gccr1=NONEr2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.old-deja/g++.other/friend7.C.diff?cvsroot=gccr1=1.2r2=1.3 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gccr1=1.4498r2=1.4499 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/class.c.diff?cvsroot=gccr1=1.689r2=1.690 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gccr1=1.1073r2=1.1074 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl.c.diff?cvsroot=gccr1=1.1333r2=1.1334 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/name-lookup.c.diff?cvsroot=gccr1=1.95r2=1.96 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gccr1=1.948r2=1.949 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/tree.c.diff?cvsroot=gccr1=1.419r2=1.420 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/typeck.c.diff?cvsroot=gccr1=1.598r2=1.599 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18445
[Bug c++/18445] [3.4/4.0 Regression] ice during overload resolution in template instantiation
-- What|Removed |Added AssignedTo|unassigned at gcc dot gnu |mark at codesourcery dot com |dot org | Status|NEW |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18445
[Bug c++/18445] [3.4/4.0 Regression] ice during overload resolution in template instantiation
--- Additional Comments From reichelt at gcc dot gnu dot org 2004-11-13 19:23 --- Mark, your patch http://gcc.gnu.org/ml/gcc-cvs/2003-07/msg00378.html seems to be responsible for the regression. Could you please have a look? -- What|Removed |Added CC||mmitchel at gcc dot gnu dot ||org, reichelt at gcc dot gnu ||dot org Keywords||monitored http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18445
[Bug c++/18445] [3.4/4.0 Regression] ice during overload resolution in template instantiation
-- What|Removed |Added Keywords||ice-on-invalid-code Summary|ice during overload |[3.4/4.0 Regression] ice |resolution in template |during overload resolution |instantiation |in template instantiation Target Milestone|--- |3.4.4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18445
[Bug c++/18445] [3.4/4.0 Regression] ice during overload resolution in template instantiation
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-12 13:51 --- Confirmed, reduced to: struct a { int what(); }; void g(void*); templateclass T void f() { a ex; g(ex.what); } -- What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed||1 Last reconfirmed|-00-00 00:00:00 |2004-11-12 13:51:46 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18445
[Bug c++/18445] [3.4/4.0 Regression] ice during overload resolution in template instantiation
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-12 13:54 --- : Search converges between 2003-07-08-trunk (#288) and 2003-07-09-trunk (#289). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18445