[Bug c++/19311] [3.4/4.0 Regression] ICE in resolve_overloaded_unification
--- Additional Comments From lerdsuwa at gcc dot gnu dot org 2005-03-06 17:16 --- Fixed in 3.4 and 4.0 branches. -- What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19311
[Bug c++/19311] [3.4/4.0 Regression] ICE in resolve_overloaded_unification
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-03-06 17:12 --- Subject: Bug 19311 CVSROOT:/cvs/gcc Module name:gcc Branch: gcc-4_0-branch Changes by: [EMAIL PROTECTED] 2005-03-06 17:12:12 Modified files: gcc/cp : ChangeLog init.c pt.c typeck.c gcc/testsuite : ChangeLog Added files: gcc/testsuite/g++.dg/template: non-dependent11.C Log message: PR c++/19311 * init.c (build_offset_ref): Don't build non-dependent SCOPE_REF. * pt.c (build_non_dependent_expr): Don't build NON_DEPENDENT_EXPR for OFFSET_TYPE. * typeck.c (build_x_unary_op): Don't build non-dependent SCOPE_REF. Also set PTRMEM_OK_P for NON_DEPENDENT_EXPR. (build_unary_op): Handle building ADDR_EXPR of OFFSET_REF inside template. * g++.dg/template/non-dependent11.C: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.4648.2.3&r2=1.4648.2.4 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/init.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.412&r2=1.412.2.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.978&r2=1.978.2.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/typeck.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.616&r2=1.616.2.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5084.2.19&r2=1.5084.2.20 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/non-dependent11.C.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.4.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19311
[Bug c++/19311] [3.4/4.0 Regression] ICE in resolve_overloaded_unification
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-03-06 16:59 --- Subject: Bug 19311 CVSROOT:/cvs/gcc Module name:gcc Branch: gcc-3_4-branch Changes by: [EMAIL PROTECTED] 2005-03-06 16:59:19 Modified files: gcc/cp : ChangeLog init.c pt.c typeck.c gcc/testsuite : ChangeLog Added files: gcc/testsuite/g++.dg/template: non-dependent11.C Log message: PR c++/19311 * init.c (build_offset_ref): Don't build non-dependent SCOPE_REF. * pt.c (build_non_dependent_expr): Don't build NON_DEPENDENT_EXPR for OFFSET_TYPE. * typeck.c (build_x_unary_op): Don't build non-dependent SCOPE_REF. Also set PTRMEM_OK_P for NON_DEPENDENT_EXPR. (build_unary_op): Handle building ADDR_EXPR of OFFSET_REF inside template. * g++.dg/template/non-dependent11.C: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3892.2.203&r2=1.3892.2.204 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/init.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.356.2.15&r2=1.356.2.16 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.816.2.51&r2=1.816.2.52 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/typeck.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.519.2.22&r2=1.519.2.23 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3389.2.368&r2=1.3389.2.369 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/non-dependent11.C.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=NONE&r2=1.1.2.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19311
[Bug c++/19311] [3.4/4.0 Regression] ICE in resolve_overloaded_unification
--- Additional Comments From lerdsuwa at gcc dot gnu dot org 2005-03-05 15:46 --- Fixed in the mainline. Other branches are being tested and will be fixed once I finish retesting the patch. -- What|Removed |Added Summary|[3.4/4.0/4.1 Regression] ICE|[3.4/4.0 Regression] ICE in |in |resolve_overloaded_unificati |resolve_overloaded_unificati|on |on | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19311
[Bug c++/19311] [3.4/4.0 Regression] ICE in resolve_overloaded_unification
--- Additional Comments From caolanm at redhat dot com 2005-02-01 15:04 --- breaks current OOo2 build -- What|Removed |Added CC||caolanm at redhat dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19311
[Bug c++/19311] [3.4/4.0 Regression] ICE in resolve_overloaded_unification
--- Additional Comments From lerdsuwa at gcc dot gnu dot org 2005-01-17 16:19 --- (In reply to comment #9) > Why a new tree node? We are moving away from using trees also for container- > type data structures. You can write a normal structure with the node that > must > be access-checked and the line info, and put it into a Vec. This is only a rough idea. The actual implementation could be different. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19311
[Bug c++/19311] [3.4/4.0 Regression] ICE in resolve_overloaded_unification
--- Additional Comments From giovannibajo at libero dot it 2005-01-17 15:25 --- (In reply to comment #7) > Fixing it by queuing access checking until instantiation time > turns out to be nasty: > - Need to invent new tree node, the current TREE_LIST cannot > store the line number information. Why a new tree node? We are moving away from using trees also for container- type data structures. You can write a normal structure with the node that must be access-checked and the line info, and put it into a Vec. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19311
[Bug c++/19311] [3.4/4.0 Regression] ICE in resolve_overloaded_unification
--- Additional Comments From lerdsuwa at gcc dot gnu dot org 2005-01-17 14:37 --- Patch submitted that fixes the ICE: http://gcc.gnu.org/ml/gcc-patches/2005-01/msg01007.html Queuing access checking until instantiation time will be addressed in 4.1. That issue has already been covered by PR16617 so this bug can be closed once the ICE is fixed. -- What|Removed |Added Keywords||patch http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19311
[Bug c++/19311] [3.4/4.0 Regression] ICE in resolve_overloaded_unification
--- Additional Comments From lerdsuwa at gcc dot gnu dot org 2005-01-13 06:06 --- Fixing it by queuing access checking until instantiation time turns out to be nasty: - Need to invent new tree node, the current TREE_LIST cannot store the line number information. - If only non-dependent qualified id are queued, need to check which one to queue. If all are queued, then extra template substitutions are needed which slow down the compiler. I think the required changes is too big for 4.0 at this point. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19311
[Bug c++/19311] [3.4/4.0 Regression] ICE in resolve_overloaded_unification
--- Additional Comments From lerdsuwa at gcc dot gnu dot org 2005-01-12 10:49 --- Patch in progress. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19311
[Bug c++/19311] [3.4/4.0 Regression] ICE in resolve_overloaded_unification
--- Additional Comments From lerdsuwa at gcc dot gnu dot org 2005-01-10 14:11 --- Will look at it. -- What|Removed |Added AssignedTo|unassigned at gcc dot gnu |lerdsuwa at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2005-01-07 13:45:56 |2005-01-10 14:11:04 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19311
[Bug c++/19311] [3.4/4.0 Regression] ICE in resolve_overloaded_unification
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-01-10 00:50 --- I almost think this was caused by: 2004-07-18 Kriang Lerdsuwanakij <[EMAIL PROTECTED]> 2004-07-28 Kriang Lerdsuwanakij <[EMAIL PROTECTED]> PR c++/13092 Because that is when the date matches up for the regression hunter's dates on both the 3.4 branch and the mainline. -- What|Removed |Added CC||lerdsuwa at users dot ||sourceforge dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19311
[Bug c++/19311] [3.4/4.0 Regression] ICE in resolve_overloaded_unification
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-01-08 22:52 --- : Search converges between 2004-07-18-trunk (#489) and 2004-07-19-trunk (#490). : Search converges between 2004-07-28-3.4 (#35) and 2004-07-29-3.4 (#36). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19311
[Bug c++/19311] [3.4/4.0 Regression] ICE in resolve_overloaded_unification
--- Additional Comments From bangerth at dealii dot org 2005-01-07 20:58 --- This one is simpler: - template void foo (R (T::*x) ()); template void foo (R (T::*x) (C)); template struct I { int o (); int o () const; }; template void bar (void) { foo > (&I<1>::o); } --- g/x> /home/bangerth/bin/gcc-4.0-pre/bin/c++ -c x.cc x.cc: In function ?void bar()?: x.cc:10: internal compiler error: in resolve_overloaded_unification, at cp/pt.c:9523 Please submit a full bug report, with preprocessed source if appropriate. See http://gcc.gnu.org/bugs.html> for instructions. W. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19311
[Bug c++/19311] [3.4/4.0 Regression] ICE in resolve_overloaded_unification
-- What|Removed |Added Severity|minor |normal http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19311
[Bug c++/19311] [3.4/4.0 Regression] ICE in resolve_overloaded_unification
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-01-07 13:45 --- Confirmed. -- What|Removed |Added Severity|normal |minor Status|UNCONFIRMED |NEW Ever Confirmed||1 Keywords||ice-on-valid-code Known to fail||3.4.0 4.0.0 Known to work||3.3.2 Last reconfirmed|-00-00 00:00:00 |2005-01-07 13:45:56 date|| Summary|ICE in |[3.4/4.0 Regression] ICE in |resolve_overloaded_unificati|resolve_overloaded_unificati |on |on Target Milestone|--- |3.4.4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19311