From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23479 invoked by alias); 16 Sep 2002 17:16:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 23445 invoked by uid 71); 16 Sep 2002 17:16:01 -0000 Resent-Date: 16 Sep 2002 17:16:01 -0000 Resent-Message-ID: <20020916171601.23444.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, Theodore.Papadopoulo@sophia.inria.fr Received: (qmail 22069 invoked by uid 61); 16 Sep 2002 17:11:35 -0000 Message-Id: <20020916171135.22068.qmail@sources.redhat.com> Date: Mon, 16 Sep 2002 10:16:00 -0000 From: Theodore.Papadopoulo@sophia.inria.fr Reply-To: Theodore.Papadopoulo@sophia.inria.fr To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c++/7931: [Regression] The compiler ices on some legal code X-SW-Source: 2002-09/txt/msg00462.txt.bz2 List-Id: >Number: 7931 >Category: c++ >Synopsis: [Regression] The compiler ices on some legal code >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Mon Sep 16 10:16:01 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Theo Papadopoulo >Release: cvs gcc version 3.3 20020910 (but exists for more than 3 weeks). >Organization: >Environment: i686-pc-linux-gnu >Description: The current CVS sources (but this is true for at least 3 weeks) cannot compile the following small piece of code. This is a regression from 3.2. hawai->/usr/local/gcc-3.2/bin/g++ -c toto.C hawai->g++ toto.C g++: Internal error: Segmentation fault (program cc1plus) Please submit a full bug report. See for instructions. hawai->g++ -v Reading specs from /proj/odyssee/home/gnu/gcc/lib/gcc-lib/i686-pc-linux-gnu/3.3/specs Configured with: ../../Cvs/gcc/gcc-mainline/configure --with-gnu-as --with-gnu-ld --with-as=/proj/odyssee/home/gnu/binutils/bin/as --with-ld=/proj/odyssee/home/gnu/binutils/bin/ld --prefix=/proj/odyssee/home/gnu/gcc --enable-runpath Thread model: posix gcc version 3.3 20020910 (experimental) hawai->/proj/odyssee/home/gnu/gcc/lib/gcc-lib/i686-pc-linux-gnu/3.3/cc1plus toto.C R::R() R::R() R::R() H::H() H::H() H::H() double& H::f() double H::f() constSegmentation fault >>From gdb, it looks like the compiler is entering in an infinite loop over an error_mark_node: This GDB was configured as "i686-pc-linux-gnu"... (gdb) run toto.C Starting program: /0/proj/odyssee/home/gnu/gcc/lib/gcc-lib/i686-pc-linux-gnu/3.3/cc1plus toto.C R::R() R::R() R::R() H::H() H::H() H::H() double& H::f() double H::f() const Program received signal SIGSEGV, Segmentation fault. 0x0808f5c5 in for_each_template_parm_r (tp=0x4014bd80, walk_subtrees=0xbf800028, d=0xbfffe950) at ../../../Cvs/gcc/gcc-mainline/gcc/cp/pt.c:4340 4340 { (gdb) bt #0 0x0808f5c5 in for_each_template_parm_r (tp=0x4014bd80, walk_subtrees=0xbf800028, d=0xbfffe950) at ../../../Cvs/gcc/gcc-mainline/gcc/cp/pt.c:4340 #1 0x0831f114 in walk_tree (tp=0x4014bd94, func=0x808f5c0 , data=0xbfffe950, htab_=0x0) at ../../../Cvs/gcc/gcc-mainline/gcc/tree-inline.c:1434 #2 0x0831f26f in walk_tree (tp=0x401511a0, func=0x808f5c0 , data=0xbfffe950, htab_=0x0) at ../../../Cvs/gcc/gcc-mainline/gcc/tree-inline.c:1567 #3 0x0831f26f in walk_tree (tp=0x4014bd90, func=0x808f5c0 , data=0xbfffe950, htab_=0x0) at ../../../Cvs/gcc/gcc-mainline/gcc/tree-inline.c:1567 #4 0x0831f26f in walk_tree (tp=0x4014bd90, func=0x808f5c0 , data=0xbfffe950, htab_=0x0) at ../../../Cvs/gcc/gcc-mainline/gcc/tree-inline.c:1567 #5 0x0831f26f in walk_tree (tp=0x4014bd90, func=0x808f5c0 , data=0xbfffe950, htab_=0x0) at ../../../Cvs/gcc/gcc-mainline/gcc/tree-inline.c:1567 #6 0x0831f26f in walk_tree (tp=0x4014bd90, func=0x808f5c0 , data=0xbfffe950, htab_=0x0) at ../../../Cvs/gcc/gcc-mainline/gcc/tree-inline.c:1567 #7 0x0831f26f in walk_tree (tp=0x4014bd90, func=0x808f5c0 , data=0xbfffe950, htab_=0x0) at ../../../Cvs/gcc/gcc-mainline/gcc/tree-inline.c:1567 #8 0x0831f26f in walk_tree (tp=0x4014bd90, func=0x808f5c0 , data=0xbfffe950, htab_=0x0) at ../../../Cvs/gcc/gcc-mainline/gcc/tree-inline.c:1567 #9 0x0831f26f in walk_tree (tp=0x4014bd90, func=0x808f5c0 , data=0xbfffe950, htab_=0x0) at ../../../Cvs/gcc/gcc-mainline/gcc/tree-inline.c:1567 #10 0x0831f26f in walk_tree (tp=0x4014bd90, func=0x808f5c0 , data=0xbfffe950, htab_=0x0) at ../../../Cvs/gcc/gcc-mainline/gcc/tree-inline.c:1567 #11 0x0831f26f in walk_tree (tp=0x4014bd90, func=0x808f5c0 , data=0xbfffe950, htab_=0x0) at ../../../Cvs/gcc/gcc-mainline/gcc/tree-inline.c:1567 #12 0x0831f26f in walk_tree (tp=0x4014bd90, func=0x808f5c0 , data=0xbfffe950, htab_=0x0) The bottom of the stack is: #174654 0x400319cb in __libc_start_main (main=0x814a1a0
, argc=2, argv=0xbffff6c4, init=0x80490cc <_init>, fini=0x83bc490 <_fini>, rtld_fini=0x4000ae60 <_dl_fini>, stack_end=0xbffff6bc) at ../sysdeps/generic/libc-start.c:92 92 ../sysdeps/generic/libc-start.c: No such file or directory. in ../sysdeps/generic/libc-start.c (gdb) down #174653 0x0814a1bb in main (argc=-1073747632, argv=0xbfffe950) at ../../../Cvs/gcc/gcc-mainline/gcc/main.c:35 35 return toplev_main (argc, argv); (gdb) #174652 0x0830dc5d in toplev_main (argc=-1073747632, argv=0xbffff600) at ../../../Cvs/gcc/gcc-mainline/gcc/toplev.c:5365 5365 do_compile (); (gdb) #174651 0x0830dbb5 in do_compile () at ../../../Cvs/gcc/gcc-mainline/gcc/toplev.c:5335 5335 compile_file (); (gdb) #174650 0x08307fed in compile_file () at ../../../Cvs/gcc/gcc-mainline/gcc/toplev.c:2130 2130 (*lang_hooks.parse_file) (set_yydebug); (gdb) #174649 0x08140da9 in c_common_parse_file (set_yydebug=-1073747632) at ../../../Cvs/gcc/gcc-mainline/gcc/c-lex.c:159 159 yyparse (); (gdb) #174648 0x080da944 in yyparse () at parse.y:1109 1109 parse.y: No such file or directory. in parse.y (gdb) #174647 0x08115e17 in finish_template_type (name=0xbfffe950, args=0xbfffe950, entering_scope=-1073747632) at ../../../Cvs/gcc/gcc-mainline/gcc/cp/semantics.c:2036 2036 decl = lookup_template_class (name, args, (gdb) #174646 0x0808e012 in lookup_template_class (d1=0x40139ac8, arglist=0x40151e9c, in_decl=0x0, context=0x0, entering_scope=0, complain=tf_error) at ../../../Cvs/gcc/gcc-mainline/gcc/cp/pt.c:4096 4096 = coerce_template_parms (INNERMOST_TEMPLATE_PARMS (parmlist), (gdb) #174645 0x0808be0f in coerce_template_parms (parms=0x4011d880, args=0x40139ab4, in_decl=0x40148a80, complain=tf_error, require_all_arguments=1) at ../../../Cvs/gcc/gcc-mainline/gcc/cp/pt.c:3599 3599 arg = convert_template_argument (TREE_VALUE (parm), (gdb) #174644 0x0808b7c0 in convert_template_argument (parm=0x40148850, arg=0x40151eec, args=0x4015b0c0, complain=tf_error, i=1, in_decl=0x40148a80) at ../../../Cvs/gcc/gcc-mainline/gcc/cp/pt.c:3482 3482 if (!uses_template_parms (arg) && !uses_template_parms (t)) (gdb) #174643 0x0808fe21 in uses_template_parms (t=0xbfffe950) at ../../../Cvs/gcc/gcc-mainline/gcc/cp/pt.c:4514 4514 return for_each_template_parm (t, 0, 0); (gdb) #174642 0x0808fdf4 in for_each_template_parm (t=0x40151eec, fn=0xbfffe950, data=0xbfffe950) at ../../../Cvs/gcc/gcc-mainline/gcc/cp/pt.c:4504 4504 return walk_tree (&t, (gdb) #174641 0x0831f72e in walk_tree (tp=0xbfffe960, func=0x808f5c0 , data=0xbfffe950, htab_=0x0) at ../../../Cvs/gcc/gcc-mainline/gcc/tree-inline.c:1486 1486 WALK_SUBTREE (TREE_OPERAND (*tp, i)); (gdb) #174640 0x0831f72e in walk_tree (tp=0x40151efc, func=0x808f5c0 , data=0xbfffe950, htab_=0x0) at ../../../Cvs/gcc/gcc-mainline/gcc/tree-inline.c:1486 1486 WALK_SUBTREE (TREE_OPERAND (*tp, i)); (gdb) #174639 0x0831f72e in walk_tree (tp=0x4015b0b4, func=0x808f5c0 , data=0xbfffe950, htab_=0x0) at ../../../Cvs/gcc/gcc-mainline/gcc/tree-inline.c:1486 1486 WALK_SUBTREE (TREE_OPERAND (*tp, i)); (gdb) #174638 0x0831f26f in walk_tree (tp=0x4015b090, func=0x808f5c0 , data=0xbfffe950, htab_=0x0) at ../../../Cvs/gcc/gcc-mainline/gcc/tree-inline.c:1567 1567 WALK_SUBTREE (TREE_VEC_ELT (*tp, len)); >How-To-Repeat: Just compile the previous file. >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="MemberRef.C" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="MemberRef.C" Ly8gQnVpbGQgZG9uJ3QgbGluazoKLy8gT3JpZ2luOiBUaGVvIFBhcGFkb3BvdWxvIDxUaGVvZG9y ZS5QYXBhZG9wb3Vsb0Bzb3BoaWEuaW5yaWEuZnI+Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVCxkb3Vi bGUgKFQ6OipmdW4pKCkgY29uc3Q+CnN0cnVjdCBJIHsKfTsKCnN0cnVjdCBSIHsKICAgIFIoKSB7 IH0KfTsKCmNsYXNzIEg6IHB1YmxpYyBSIHsKcHVibGljOgogICAgSCgpOiBSKCkgeyB9CiAgICBk b3VibGUmIGYoKSB7IHJldHVybiBhOyB9CiAgICBkb3VibGUgIGYoKSBjb25zdCB7IHJldHVybiAx LjA7IH0KICAgIGRvdWJsZSBhOwp9OwoKc3RydWN0IEEgewogICAgdHlwZWRlZiBJPEgsJkg6OmY+ IEY7CiAgICBBKCkgeyB9Cn07Cg==