This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
c++/6212: g++ testsuite EH regressions for irix6 -mabi=64
- From: David dot Billinghurst at riotinto dot com
- To: gcc-gnats at gcc dot gnu dot org
- Cc: ghazi at caip dot rutgers dot edu, kenner at vlsi1 dot ultra dot nyu dot edu
- Date: 7 Apr 2002 06:49:45 -0000
- Subject: c++/6212: g++ testsuite EH regressions for irix6 -mabi=64
- Reply-to: David dot Billinghurst at riotinto dot com
>Number: 6212
>Category: c++
>Synopsis: g++ testsuite EH regressions for irix6 -mabi=64
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Apr 06 22:56:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator: David Billinghurst
>Release: 3.1 and 3.2
>Organization:
>Environment:
mips-sgi-irix6.5
mips-sgi-irix6.2
>Description:
There are around 100 failures in g++ testsuite with 3.1 on
irix 6.5. They are runtime failures consistent with broken
exception handling.
Looking back through gcc-testresults
- 20010529 is OK (http://gcc.gnu.org/ml/gcc-testresults/2001-05/msg00714.html)
- 20010611 fails (http://gcc.gnu.org/ml/gcc-testresults/2001-06/msg00276.html)
There was some discussion at the time:
- http://gcc.gnu.org/ml/gcc-bugs/2001-06/msg00894.html
- http://gcc.gnu.org/ml/gcc-bugs/2001-06/msg01005.html
- http://gcc.gnu.org/ml/gcc-bugs/2001-06/msg01489.html
which pointed to patch:
Sat Jun 2 06:53:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* tree.h (struct record_layout_info_s): New field unpadded_align.
(set_lang_adjust_rli): New declaration.
* stor-layout.c (layout_decl): If DECL is packed, but at alignment
it would have if not packed, do not downgrade DECL_ALIGN.
(lang_adjust_rli, set_lang_adjust_rli): New.
(start_record_layout): Initialize new field unpadded_align.
(debug_rli): Display it.
(place_union_field, place_field): Set it.
(layout_type, case RECORD_TYPE): Call via lang_adjust_rli if set.
* print-tree.c (print_node): Don't print "regdecl" when bit doesn't
mean that; use proper names instead.
Print DECL_NO_STATIC_CHAIN.
* except.c (expand_builtin_frob_return_addr): Add missing call
to convert_memory_address #ifdef POINTERS_EXTEND_UNSIGNED.
(expand_builtin_eh_return): Likewise.
(expand_eh_return): Clean up ptr_mode != Pmode cases.
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: