public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/23730] New: ICE instead of reporting a call to a non existant member function
@ 2005-09-05 13:00 gcc-bugzilla at gcc dot gnu dot org
  2005-09-05 14:13 ` [Bug c++/23730] [4.0/4.1 Regression] " pinskia at gcc dot gnu dot org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: gcc-bugzilla at gcc dot gnu dot org @ 2005-09-05 13:00 UTC (permalink / raw)
  To: gcc-bugs



G++ dies instead of reporting a clear error message.  This is a
regression as compared to 3.3

I'm afraid I can't currently upgrade to 4.1, so I can't tell if this
is still a problem...

Environment:
System: Linux nostromo 2.4.27-1-686 #1 Wed Dec 1 19:57:47 JST 2004 i686 GNU/Linux
Architecture: i686

	
host: i486-pc-linux-gnu
build: i486-pc-linux-gnu
target: i486-pc-linux-gnu
configured with: ../src/configure -v --enable-languages=c,c++,java,f95,objc,ada,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --enable-nls --without-included-gettext --enable-threads=posix --program-suffix=-4.0 --enable-__cxa_atexit --enable-libstdcxx-allocator=mt --enable-clocale=gnu --enable-libstdcxx-debug --enable-java-gc=boehm --enable-java-awt=gtk --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre --enable-mpfr --disable-werror --enable-checking=release i486-linux-gnu

How-To-Repeat:

/tmp % eof foo.cc                                                nostromo 14:57
: -------------------- foo.cc ----------------------
cat > foo.cc << \EOF
struct Visitor;

struct Ast
{
  virtual void accept (Visitor& v);
};

void
Ast::accept (Visitor& v)
{
  v (*this);
}
EOF
: ------------------------------------------------------------
/tmp % gcc-4.0 foo.cc                                            nostromo 14:57
foo.cc: In member function 'virtual void Ast::accept(Visitor&)':
foo.cc:11: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.0/README.Bugs>.

/tmp % gcc-3.3 foo.cc                                            nostromo Err 1
foo.cc: In member function `virtual void Ast::accept(Visitor&)':
foo.cc:11: error: no match for call to `(Visitor) (Ast&)'

-- 
           Summary: ICE instead of reporting a call to a non existant member
                    function
           Product: gcc
           Version: 4.0.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: akim at lrde dot epita dot fr
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i486-pc-linux-gnu
  GCC host triplet: i486-pc-linux-gnu
GCC target triplet: i486-pc-linux-gnu


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


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

* [Bug c++/23730] [4.0/4.1 Regression] ICE instead of reporting a call to a non existant member function
  2005-09-05 13:00 [Bug c++/23730] New: ICE instead of reporting a call to a non existant member function gcc-bugzilla at gcc dot gnu dot org
@ 2005-09-05 14:13 ` pinskia at gcc dot gnu dot org
  2005-09-11 15:55 ` [Bug c++/23730] [4.0/4.1 Regression] ICE instead of reporting a call to a non-existent " reichelt at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-05 14:13 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-05 14:13 -------
Confirmed backtrace:
#0  lookup_member (xbasetype=0x0, name=0xb7c12924, protect=1, want_type=0 '\0') at /home/
peshtigo/pinskia/src/gnu/gcc/src/gcc/cp/search.c:1201
#1  0x08123fc5 in lookup_fnfields (xbasetype=0x0, name=0xb7c12924, protect=1) at /home/
peshtigo/pinskia/src/gnu/gcc/src/gcc/cp/search.c:1292
#2  0x08057cb5 in build_new_op (code=CALL_EXPR, flags=3, arg1=0xb7c84480, arg2=Variable "arg2" 
is not available.
) at /home/peshtigo/pinskia/src/gnu/gcc/src/gcc/cp/call.c:2917
#3  0x0812ad28 in finish_call_expr (fn=0xb7c84480, args=0xb7ca8720, disallow_virtual=0 '\0', 
koenig_p=0 '\0')
    at /home/peshtigo/pinskia/src/gnu/gcc/src/gcc/cp/semantics.c:1885
#4  0x080e4e67 in cp_parser_unary_expression (parser=0xb7ca7f08, address_p=0 '\0', cast_p=0 '\0') 
at /home/peshtigo/pinskia/src/gnu/gcc/src/gcc/cp/parser.c:4261
#5  0x080e5b4a in cp_parser_assignment_expression (parser=0xb7ca7f08, cast_p=0 '\0') at /home/
peshtigo/pinskia/src/gnu/gcc/src/gcc/cp/parser.c:5516
#6  0x080e674b in cp_parser_expression (parser=0xb7ca7f08, cast_p=Variable "cast_p" is not 
available.
) at /home/peshtigo/pinskia/src/gnu/gcc/src/gcc/cp/parser.c:5820
#7  0x080e6ac9 in cp_parser_expression_statement (parser=0xb7ca7f08, in_statement_expr=0x0) at /
home/peshtigo/pinskia/src/gnu/gcc/src/gcc/cp/parser.c:6230
#8  0x080e2f93 in cp_parser_statement (parser=0xb7ca7f08, in_statement_expr=0x0) at /home/
peshtigo/pinskia/src/gnu/gcc/src/gcc/cp/parser.c:6114
#9  0x080e3bc4 in cp_parser_statement_seq_opt (parser=0xb7ca7f08, in_statement_expr=0x0) at /
home/peshtigo/pinskia/src/gnu/gcc/src/gcc/cp/parser.c:6294
#10 0x080e3d75 in cp_parser_compound_statement (parser=0xb7ca7f08, in_statement_expr=0x0, 
in_try=Variable "in_try" is not available.
) at /home/peshtigo/pinskia/src/gnu/gcc/src/gcc/cp/parser.c:6267
#11 0x080e7486 in cp_parser_ctor_initializer_opt_and_function_body (parser=0xb7ca7f08) at /home/
peshtigo/pinskia/src/gnu/gcc/src/gcc/cp/parser.c:12217


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
  GCC build triplet|i486-pc-linux-gnu           |
   GCC host triplet|i486-pc-linux-gnu           |
 GCC target triplet|i486-pc-linux-gnu           |
           Keywords|                            |ice-on-invalid-code
      Known to fail|                            |4.0.0 4.1.0
      Known to work|                            |3.4.0
   Last reconfirmed|0000-00-00 00:00:00         |2005-09-05 14:13:41
               date|                            |
            Summary|ICE instead of reporting a  |[4.0/4.1 Regression] ICE
                   |call to a non existant      |instead of reporting a call
                   |member function             |to a non existant member
                   |                            |function
   Target Milestone|---                         |4.0.2


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


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

* [Bug c++/23730] [4.0/4.1 Regression] ICE instead of reporting a call to a non-existent member function
  2005-09-05 13:00 [Bug c++/23730] New: ICE instead of reporting a call to a non existant member function gcc-bugzilla at gcc dot gnu dot org
  2005-09-05 14:13 ` [Bug c++/23730] [4.0/4.1 Regression] " pinskia at gcc dot gnu dot org
@ 2005-09-11 15:55 ` reichelt at gcc dot gnu dot org
  2005-09-12 20:42 ` pinskia at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2005-09-11 15:55 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From reichelt at gcc dot gnu dot org  2005-09-11 15:55 -------
Even shorter testcase:

===================
struct A;

void foo(A& a)
{
    a();
}
===================


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |reichelt at gcc dot gnu dot
                   |                            |org
           Keywords|                            |monitored
            Summary|[4.0/4.1 Regression] ICE    |[4.0/4.1 Regression] ICE
                   |instead of reporting a call |instead of reporting a call
                   |to a non existant member    |to a non-existent member
                   |function                    |function


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


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

* [Bug c++/23730] [4.0/4.1 Regression] ICE instead of reporting a call to a non-existent member function
  2005-09-05 13:00 [Bug c++/23730] New: ICE instead of reporting a call to a non existant member function gcc-bugzilla at gcc dot gnu dot org
  2005-09-05 14:13 ` [Bug c++/23730] [4.0/4.1 Regression] " pinskia at gcc dot gnu dot org
  2005-09-11 15:55 ` [Bug c++/23730] [4.0/4.1 Regression] ICE instead of reporting a call to a non-existent " reichelt at gcc dot gnu dot org
@ 2005-09-12 20:42 ` pinskia at gcc dot gnu dot org
  2005-09-27 16:15 ` mmitchel at gcc dot gnu dot org
  2005-09-28 16:49 ` janis187 at us dot ibm dot com
  4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-12 20:42 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-12 20:42 -------
: Search converges between 2004-07-12-trunk (#484) and 2004-07-13-trunk (#485).


-- 


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


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

* [Bug c++/23730] [4.0/4.1 Regression] ICE instead of reporting a call to a non-existent member function
  2005-09-05 13:00 [Bug c++/23730] New: ICE instead of reporting a call to a non existant member function gcc-bugzilla at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2005-09-12 20:42 ` pinskia at gcc dot gnu dot org
@ 2005-09-27 16:15 ` mmitchel at gcc dot gnu dot org
  2005-09-28 16:49 ` janis187 at us dot ibm dot com
  4 siblings, 0 replies; 6+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-09-27 16:15 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.0.2                       |4.0.3


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


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

* [Bug c++/23730] [4.0/4.1 Regression] ICE instead of reporting a call to a non-existent member function
  2005-09-05 13:00 [Bug c++/23730] New: ICE instead of reporting a call to a non existant member function gcc-bugzilla at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2005-09-27 16:15 ` mmitchel at gcc dot gnu dot org
@ 2005-09-28 16:49 ` janis187 at us dot ibm dot com
  4 siblings, 0 replies; 6+ messages in thread
From: janis187 at us dot ibm dot com @ 2005-09-28 16:49 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From janis187 at us dot ibm dot com  2005-09-28 16:48 -------
A regression hunt identified these patches from nathan (the second adds a
change missed in the first one):

  http://gcc.gnu.org/ml/gcc-cvs/2004-07/msg00663.html
  http://gcc.gnu.org/ml/gcc-cvs/2004-07/msg00664.html

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |nathan at gcc dot gnu dot
                   |                            |org


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


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

end of thread, other threads:[~2005-09-28 16:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-09-05 13:00 [Bug c++/23730] New: ICE instead of reporting a call to a non existant member function gcc-bugzilla at gcc dot gnu dot org
2005-09-05 14:13 ` [Bug c++/23730] [4.0/4.1 Regression] " pinskia at gcc dot gnu dot org
2005-09-11 15:55 ` [Bug c++/23730] [4.0/4.1 Regression] ICE instead of reporting a call to a non-existent " reichelt at gcc dot gnu dot org
2005-09-12 20:42 ` pinskia at gcc dot gnu dot org
2005-09-27 16:15 ` mmitchel at gcc dot gnu dot org
2005-09-28 16:49 ` janis187 at us dot ibm dot com

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