Geoffrey Keating writes: > Mark Mitchell <[EMAIL PROTECTED]> writes: > > > RC2 is available here: > > > > ftp://gcc.gnu.org/pub/gcc/prerelease-4.0.0-20050417/ > > > > As before, I'd very much appreciate it if people would test these bits > > on primary and secondary platforms, post test results with the > > contrib/test_summary script, and send me a message saying whether or > > not there are any regressions, together with a pointer to the results. > > Bad news, I'm afraid.
It's a bug in dbxout. A field is marked as DECL_IGNORED_P, but dbxout_type_fields() still tries to access it. Andrew. 2005-04-19 Andrew Haley <[EMAIL PROTECTED]> * dbxout.c (dbxout_type_fields): Check DECL_IGNORED_P before looking at a field's bitpos. Index: dbxout.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/dbxout.c,v retrieving revision 1.227 diff -c -6 -p -r1.227 dbxout.c *** dbxout.c 12 Apr 2005 20:39:04 -0000 1.227 --- dbxout.c 19 Apr 2005 13:17:51 -0000 *************** dbxout_type_fields (tree type) *** 1401,1420 **** return early. */ if (tem == error_mark_node || TREE_TYPE (tem) == error_mark_node) return; /* Omit here local type decls until we know how to support them. */ if (TREE_CODE (tem) == TYPE_DECL /* Omit fields whose position or size are variable or too large to represent. */ || (TREE_CODE (tem) == FIELD_DECL && (! host_integerp (bit_position (tem), 0) || ! DECL_SIZE (tem) ! || ! host_integerp (DECL_SIZE (tem), 1))) ! /* Omit here the nameless fields that are used to skip bits. */ ! || DECL_IGNORED_P (tem)) continue; else if (TREE_CODE (tem) != CONST_DECL) { /* Continue the line if necessary, but not before the first field. */ --- 1401,1420 ---- return early. */ if (tem == error_mark_node || TREE_TYPE (tem) == error_mark_node) return; /* Omit here local type decls until we know how to support them. */ if (TREE_CODE (tem) == TYPE_DECL + /* Omit here the nameless fields that are used to skip bits. */ + || DECL_IGNORED_P (tem) /* Omit fields whose position or size are variable or too large to represent. */ || (TREE_CODE (tem) == FIELD_DECL && (! host_integerp (bit_position (tem), 0) || ! DECL_SIZE (tem) ! || ! host_integerp (DECL_SIZE (tem), 1)))) continue; else if (TREE_CODE (tem) != CONST_DECL) { /* Continue the line if necessary, but not before the first field. */