public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/16707] New: [3.4/3.5 regression] ICE with using
@ 2004-07-26  2:00 reichelt at gcc dot gnu dot org
  2004-07-26  2:01 ` [Bug c++/16707] " reichelt at gcc dot gnu dot org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2004-07-26  2:00 UTC (permalink / raw)
  To: gcc-bugs

Since gcc 3.4.0 the compiler crashes on the following invalid code snippet:

==========================
int i;
using N::i;
==========================

The error message from mainline is:

bug.cc:2: error: `N' has not been declared
bug.cc:2: error: expected nested-name-specifier before "i"
bug.cc:2: internal compiler error: in push_using_decl, at cp/name-lookup.c:1914
Please submit a full bug report, [etc.]

-- 
           Summary: [3.4/3.5 regression] ICE with using
           Product: gcc
           Version: 3.5.0
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code, error-recovery
          Severity: critical
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: reichelt at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16707


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug c++/16707] [3.4/3.5 regression] ICE with using
  2004-07-26  2:00 [Bug c++/16707] New: [3.4/3.5 regression] ICE with using reichelt at gcc dot gnu dot org
@ 2004-07-26  2:01 ` reichelt at gcc dot gnu dot org
  2004-07-26  3:59 ` pinskia at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2004-07-26  2:01 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |3.4.0 3.4.1 3.5.0
      Known to work|                            |3.3.4
   Target Milestone|---                         |3.4.2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16707


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug c++/16707] [3.4/3.5 regression] ICE with using
  2004-07-26  2:00 [Bug c++/16707] New: [3.4/3.5 regression] ICE with using reichelt at gcc dot gnu dot org
  2004-07-26  2:01 ` [Bug c++/16707] " reichelt at gcc dot gnu dot org
@ 2004-07-26  3:59 ` pinskia at gcc dot gnu dot org
  2004-08-02 18:49 ` cvs-commit at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-07-26  3:59 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-07-26 03:59 -------
Confirmed.
: Search converges between 2004-01-01-trunk (#437) and 2004-01-17-trunk (#438).

I almost think it is this patch:
2004-01-15  Alexandre Oliva  <aoliva@redhat.com>

        PR c++/13659
        * name-lookup.c (validate_nonmember_using_decl): Take scope and
        name by value, instead of computing them.
        (do_local_using_decl, do_toplevel_using_decl): Add scope and name
        arguments.  Pass them to validate_nonmember_using_decl.
        * name-lookup.h (do_local_using_decl): Adjust.
        (do_toplevel_using_decl): Likewise.
        * parser.c (cp_parser_using_declaration): Likewise.
        * pt.c (tsubst_expr): Likewise.

as the backtrace looks like this:
#0  0x4202bb8a in exit () from /lib/i686/libc.so.6
#1  0x0825b843 in diagnostic_report_diagnostic (context=0x85d9a80, diagnostic=0xbffebfd0)
    at /home/gates/pinskia/src/gnu/gcc/src/gcc/diagnostic.c:288
#2  0x0825ba13 in internal_error (msgid=0x83 <Address 0x83 out of bounds>) at /home/gates/
pinskia/src/gnu/gcc/src/gcc/diagnostic.c:548
#3  0x0825ba4f in fancy_abort (file=0x83 <Address 0x83 out of bounds>, line=1108532352, 
function=0x83 <Address 0x83 out of bounds>)
    at /home/gates/pinskia/src/gnu/gcc/src/gcc/diagnostic.c:594
#4  0x0813fbc2 in push_using_decl (scope=0x78d, name=0x855931b) at /home/gates/pinskia/src/
gnu/gcc/src/gcc/cp/name-lookup.c:1934
#5  0x0813fea9 in validate_nonmember_using_decl (decl=0x40104910, scope=0x4004b4a0, 
name=0x40105fc0)
    at /home/gates/pinskia/src/gnu/gcc/src/gcc/cp/name-lookup.c:2156
#6  0x08149c45 in do_toplevel_using_decl (decl=0x40104910, scope=0x4004b4a0, 
name=0x40105fc0)
    at /home/gates/pinskia/src/gnu/gcc/src/gcc/cp/name-lookup.c:3368
#7  0x080ec126 in cp_parser_using_declaration (parser=0x40105f80) at /home/gates/pinskia/src/
gnu/gcc/src/gcc/cp/parser.c:10238
#8  0x080eef9a in cp_parser_block_declaration (parser=0x40105f80, statement_p=0 '\0') at /home/
gates/pinskia/src/gnu/gcc/src/gcc/cp/parser.c:6896
#9  0x080ef9df in cp_parser_declaration (parser=0x40105f80) at /home/gates/pinskia/src/gnu/gcc/
src/gcc/cp/parser.c:6824
#10 0x080efd5d in cp_parser_declaration_seq_opt (parser=0x40105f80) at /home/gates/pinskia/src/
gnu/gcc/src/gcc/cp/parser.c:6718
#11 0x080eff57 in c_parse_file () at /home/gates/pinskia/src/gnu/gcc/src/gcc/cp/parser.c:2641
#12 0x0817d1f5 in c_common_parse_file (set_yydebug=131) at /home/gates/pinskia/src/gnu/gcc/
src/gcc/c-opts.c:1086
#13 0x0845dbde in toplev_main (argc=131, argv=0xbffec2b4) at /home/gates/pinskia/src/gnu/gcc/
src/gcc/toplev.c:981
#14 0x420174d9 in __libc_start_main () from /lib/i686/libc.so.6
#15 0x08049b31 in _start ()

and that name is no longer computed.

Maybe the friendly_assert just needs to changed into a return or something like that.
Oh by the way error-recovery are never critical per <http://gcc.gnu.org/bugs/management.
html#severity>:
Bugs with keyword "ice-on-invalid-code", where GCC emits a sensible error message before issuing an 
ICE (the ICE will be replaced by the message "confused by earlier errors, bailing out" in release 
versions) should get "minor" severity and the additional keyword "error-recovery".

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aoliva at redhat dot com
           Severity|critical                    |minor
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2004-07-26 03:59:11
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16707


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug c++/16707] [3.4/3.5 regression] ICE with using
  2004-07-26  2:00 [Bug c++/16707] New: [3.4/3.5 regression] ICE with using reichelt at gcc dot gnu dot org
  2004-07-26  2:01 ` [Bug c++/16707] " reichelt at gcc dot gnu dot org
  2004-07-26  3:59 ` pinskia at gcc dot gnu dot org
@ 2004-08-02 18:49 ` cvs-commit at gcc dot gnu dot org
  2004-08-02 18:50 ` mmitchel at gcc dot gnu dot org
  2004-08-02 18:52 ` pinskia at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-08-02 18:49 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-08-02 18:49 -------
Subject: Bug 16707

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	mmitchel@gcc.gnu.org	2004-08-02 18:49:08

Modified files:
	gcc/cp         : ChangeLog name-lookup.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/g++.dg/lookup: using12.C 

Log message:
	PR c++/16707
	* name-lookup.c (validate_nonmember_using_decl): Robustify.
	
	PR c++/16707
	* g++.dg/lookup/using12.C: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4258&r2=1.4259
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/name-lookup.c.diff?cvsroot=gcc&r1=1.80&r2=1.81
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.4085&r2=1.4086
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/lookup/using12.C.diff?cvsroot=gcc&r1=NONE&r2=1.1



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16707


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug c++/16707] [3.4/3.5 regression] ICE with using
  2004-07-26  2:00 [Bug c++/16707] New: [3.4/3.5 regression] ICE with using reichelt at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2004-08-02 18:49 ` cvs-commit at gcc dot gnu dot org
@ 2004-08-02 18:50 ` mmitchel at gcc dot gnu dot org
  2004-08-02 18:52 ` pinskia at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-08-02 18:50 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2004-08-02 18:50 -------
Fixed in GCC 3.5, will not be fixed in GCC 3.4.x.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16707


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug c++/16707] [3.4/3.5 regression] ICE with using
  2004-07-26  2:00 [Bug c++/16707] New: [3.4/3.5 regression] ICE with using reichelt at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2004-08-02 18:50 ` mmitchel at gcc dot gnu dot org
@ 2004-08-02 18:52 ` pinskia at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-02 18:52 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|3.4.2                       |3.5.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16707


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2004-08-02 18:52 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-07-26  2:00 [Bug c++/16707] New: [3.4/3.5 regression] ICE with using reichelt at gcc dot gnu dot org
2004-07-26  2:01 ` [Bug c++/16707] " reichelt at gcc dot gnu dot org
2004-07-26  3:59 ` pinskia at gcc dot gnu dot org
2004-08-02 18:49 ` cvs-commit at gcc dot gnu dot org
2004-08-02 18:50 ` mmitchel at gcc dot gnu dot org
2004-08-02 18:52 ` pinskia at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).