[Bug c++/18445] [3.4/4.0 Regression] ice during overload resolution in template instantiation

2005-09-17 Thread reichelt at gcc dot gnu dot org

--- 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

2004-11-25 Thread cvs-commit at gcc dot gnu dot org

--- 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

2004-11-15 Thread mmitchel at gcc dot gnu dot org


-- 
   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

2004-11-13 Thread reichelt at gcc dot gnu dot org

--- 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

2004-11-12 Thread pinskia at gcc dot gnu dot org


-- 
   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

2004-11-12 Thread pinskia at gcc dot gnu dot org

--- 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

2004-11-12 Thread pinskia at gcc dot gnu dot org

--- 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