This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch] Emit 64-bit bounds on 32-bit hosts with DWARF
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Ian Lance Taylor <iant at google dot com>
- Cc: Eric Botcazou <ebotcazou at adacore dot com>, gcc-patches at gcc dot gnu dot org
- Date: Tue, 29 Sep 2009 10:06:26 +0200
- Subject: Re: [Patch] Emit 64-bit bounds on 32-bit hosts with DWARF
- References: <200907111348.11039.ebotcazou@adacore.com> <mcrws3lv4v3.fsf@dhcp-172-17-9-151.mtv.corp.google.com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Sat, Sep 26, 2009 at 01:16:32PM -0700, Ian Lance Taylor wrote:
> > 2009-07-11 Eric Botcazou <ebotcazou@adacore.com>
> >
> > * dwarf2out.c (enum dw_val_class): Replace dw_val_class_long_long
> > with dw_val_class_const_double.
> > (struct dw_long_long_struct): Delete.
> > (struct dw_val_struct): Adjust for above change.
> > (add_AT_long_long): Rename into...
> > (add_AT_double): ...this.
> > (print_die): Replace dw_val_class_long_long case with
> > dw_val_class_const_double case.
> > (attr_checksum): Likewise.
> > (same_dw_val_p): Likewise.
> > (size_of_die): Likewise.
> > (value_format): Likewise.
> > (output_die): Likewise.
> > (add_const_value_attribute) <CONST_DOUBLE>: Call add_AT_double
> > instead of add_AT_long_long.
> > (add_bound_info) <INTEGER_CST>: Generate the bound as an unsigned
> > value with the precision of its type.
>
> > - case dw_val_class_long_long:
> > - size += 1 + 2*HOST_BITS_PER_LONG/HOST_BITS_PER_CHAR; /* block */
> > + case dw_val_class_const_double:
> > + size += 2*HOST_BITS_PER_WIDE_INT/HOST_BITS_PER_CHAR;
> > + if (HOST_BITS_PER_WIDE_INT >= 64)
> > + size++; /* block */
>
> Please use spaces around operators.
>
> > - dw2_asm_output_data (1,
> > - 2 * HOST_BITS_PER_LONG / HOST_BITS_PER_CHAR,
> > - "%s", name);
> > + if (HOST_BITS_PER_WIDE_INT >= 64)
> > + dw2_asm_output_data (1,
> > + 2*HOST_BITS_PER_WIDE_INT/HOST_BITS_PER_CHAR,
> > + NULL);
>
> Here too.
>
> This is OK with those changes.
This seems like a step backwards, the original patch has been posted before
http://gcc.gnu.org/ml/gcc-patches/2009-07/msg01765.html and what has been
committed reverts the important parts of that patch. Why are you changing
the union member to double_int from rtx? That makes it the largest field in
the union...
Jakub