Re: [DWARF] Fix signedness issue in DWARF functions (2)

2021-04-27 Thread Eric Botcazou
> Yes, but even bitsizetype is undistinguishable from other (usually 2 * > pointer size) precision integral types. OK, I can propose the attached patch. The typed_binop_from_tree computation works on my Ada testcase in 32-bit mode from within GDB, but not in 64-bit mode because GDB chokes with:

Re: [DWARF] Fix signedness issue in DWARF functions (2)

2021-04-27 Thread Jakub Jelinek via Gcc-patches
On Tue, Apr 27, 2021 at 12:18:44AM +0200, Eric Botcazou wrote: > > At least sizetype is for GIMPLE compatible with size_t or unsigned long (or > > whatever unsigned type has the same precision), so this looks wrong to me. > > It's for bitsizetype here, as it's a conversion from bits into bytes, so

Re: [DWARF] Fix signedness issue in DWARF functions (2)

2021-04-26 Thread Eric Botcazou
> At least sizetype is for GIMPLE compatible with size_t or unsigned long (or > whatever unsigned type has the same precision), so this looks wrong to me. It's for bitsizetype here, as it's a conversion from bits into bytes, so larger than DWARF2_ADDR_SIZE. > For non-strict DWARF or DWARF5 and a

Re: [DWARF] Fix signedness issue in DWARF functions (2)

2021-04-26 Thread Jakub Jelinek via Gcc-patches
On Mon, Apr 26, 2021 at 06:49:22PM +0200, Eric Botcazou wrote: > the compiler can synthesize DWARF functions to describe the location and size > of components in discriminated record types with variant part in Ada, but in > peculiar cases the compiler drops expressions on the floor, for example in

[DWARF] Fix signedness issue in DWARF functions (2)

2021-04-26 Thread Eric Botcazou
Hi, the compiler can synthesize DWARF functions to describe the location and size of components in discriminated record types with variant part in Ada, but in peculiar cases the compiler drops expressions on the floor, for example in the divide case: case ROUND_DIV_EXPR: case TRUNC_DIV_