This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Addition: regression of egcs-1.0 on powerpc-ibm-aix4.2.1.0


Jeffrey A Law wrote:
> Can you debug the two cc1plus programs and see where they start to
> behave differently -- odds are that will point us at a codegen bug
> in the compiler.

Well, trying to debug bootstrapped cc1plus on crash48.C I obtain
the following gdb output:
----------------------------------------------------------------------
(gdb) run crash48.ii -quiet -dumpbase crash48.cc -version -o crash48.s
Starting program: /home/pooh/src/egcs-1.0/gcc/cc1plus crash48.ii -quiet
-dumpbase crash48.cc -version -o crash48.s
GNU C++ version egcs-2.90.21 971202 (egcs-1.00 release)
(powerpc-ibm-aix4.2.1.0) compiled by GNU C version egcs-2.90.21 971202
(egcs-1.00 release).
testsuite/g++.old-deja/g++.brendan/crash48.C:11: warning: all member
functions in class `bug' are private
testsuite/g++.old-deja/g++.brendan/crash48.C: In method `bug::bug(int)':
testsuite/g++.old-deja/g++.brendan/crash48.C:15: no matching function
for call to `internal::internal (int)'
testsuite/g++.old-deja/g++.brendan/crash48.C:6: candidates are:
internal::internal(const internal &)
testsuite/g++.old-deja/g++.brendan/crash48.C:6:                
internal::internal()

Program received signal SIGSEGV, Segmentation fault.
0x100e1e18 in add_conversions (binfo=0x0) at search.c:3696
3696      SET_BINFO_MARKED (binfo);
(gdb) bt
#0  0x100e1e18 in add_conversions (binfo=0x0) at search.c:3696
#1  0x100df79c in dfs_walk (binfo=0x0, fn=0x20016e9c <__dbargs+5884>, 
    qfn=0x20016e18 <__dbargs+5752>) at search.c:2519
#2  0x100e1eb0 in lookup_conversions (type=0x200543a8) at search.c:3706
#3  0x10115e44 in build_user_type_conversion_1 (totype=0x2006a640, 
    expr=0x2004bcd8, flags=3) at call.c:4300
#4  0x101162e4 in build_user_type_conversion (totype=0x0,
expr=0x2004bcd8, 
    flags=536964632) at call.c:4448
#5  0x1009760c in build_type_conversion (code=ERROR_MARK,
xtype=0x2006a640, 
    expr=0x2004bcd8, for_sure=1) at cvt.c:1335
#6  0x10095170 in cp_convert_to_pointer (type=0x2006a640,
expr=0x2004bcd8)
    at cvt.c:152
#7  0x10095964 in convert_to_pointer_force (type=0x2006a640,
expr=0x2004bcd8)
    at cvt.c:379
#8  0x10097354 in convert_force (type=0x2006a640, expr=0x20016e9c,
convtype=95)
    at cvt.c:1252
#9  0x100a3510 in build_c_cast (type=0x2006a640, expr=0x2004bcd8)
    at typeck.c:5631
#10 0x101f374c in build_new (placement=0x0, decl=0x2004d248, init=0x83, 
    use_global_new=0) at init.c:2773
#11 0x101fefc4 in yyparse () at parse.y:916
#12 0x1000303c in compile_file (name=0x0) at toplev.c:2513
#13 0x10006620 in main (argc=8, argv=0x2ff22144, envp=0x20016e18)
    at toplev.c:4403
#14 0x100001c8 in __start ()
(gdb) cont
Continuing.
testsuite/g++.old-deja/g++.brendan/crash48.C:15: confused by earlier
errors, bailing out

Program exited with code 042.
----------------------------------------------------------------------------

comparing this with cc1plus built with gcc-2.7.2 I saw that it
never calls yyparse () at parse.y:916, but calls yyparse () at
parse.y:900
in similar situation. Hope this information can help.

Andrey.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]