This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Mainline bootstrap fails for x86_64-linux-gnu with PARALLEL change
- From: David Edelsohn <dje at watson dot ibm dot com>
- To: Andreas Jaeger <aj at suse dot de>, Daniel Berlin <dberlin at dberlin dot org>
- Cc: gcc at gcc dot gnu dot org, Fariborz Jahanian <fjahanian at apple dot com>
- Date: Fri, 21 Nov 2003 13:18:05 -0500
- Subject: Re: Mainline bootstrap fails for x86_64-linux-gnu with PARALLEL change
- References: <u8smki83dd.fsf@gromit.moeb>
Does the appended patch fix the problem?
Thanks, David
2003-11-21 Daniel Berlin <dberlin@dberlin.org>
David Edelsohn <edelsohn@gnu.org>
* dwarf2out.c (add_location_or_const_value_attribute): Add support
for PARALLEL.
Index: dwarf2out.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/dwarf2out.c,v
retrieving revision 1.464
diff -c -p -r1.464 dwarf2out.c
*** dwarf2out.c 20 Nov 2003 08:52:48 -0000 1.464
--- dwarf2out.c 21 Nov 2003 18:16:26 -0000
*************** add_location_or_const_value_attribute (d
*** 9456,9461 ****
--- 9456,9488 ----
add_AT_location_description (die, DW_AT_location, descr);
break;
+ case PARALLEL:
+ {
+ rtvec par_elems = XVEC (rtl, 0);
+ int num_elem = GET_NUM_ELEM (par_elems);
+ enum machine_mode mode;
+ int i;
+
+ /* Create the first one, so we have something to add to. */
+ descr = loc_descriptor (XEXP (RTVEC_ELT (par_elems, 0), 0));
+ mode = GET_MODE (XEXP (RTVEC_ELT (par_elems, 0), 0));
+ add_loc_descr (&descr,
+ new_loc_descr (DW_OP_piece, GET_MODE_SIZE (mode), 0));
+ for (i = 1; i < num_elem; i++)
+ {
+ dw_loc_descr_ref temp;
+
+ temp = loc_descriptor (XEXP (RTVEC_ELT (par_elems, i), 0));
+ add_loc_descr (&descr, temp);
+ mode = GET_MODE (XEXP (RTVEC_ELT (par_elems, i), 0));
+ add_loc_descr (&descr,
+ new_loc_descr (DW_OP_piece,
+ GET_MODE_SIZE (mode), 0));
+ }
+ }
+ add_AT_location_description (die, DW_AT_location, descr);
+ break;
+
default:
abort ();
}