On Tue, 29 May 2018, Richard Biener wrote:
> The testcase dates back to some repository creation rev. (egcs?) and
> I'm not sure we may compute the difference of addresses of structure
> members. So that GCC accepts this is probably not required. Joseph
> may have a definitive answer here.
My m
> On May 29, 2018, at 5:49 AM, Richard Biener
> wrote:
> ...
> It might be a "regression" with the POINTER_MINUS_EXPR introduction.
> You can debug this with gdb when you break on 'pointer_diff'. For me
> on x86_64 this builds a POINTER_DIFF_EXPR: (char *) &s.f - &s.b
> of ptrdiff_t. That a
On Mon, May 28, 2018 at 8:34 PM Paul Koning wrote:
> > On May 28, 2018, at 12:03 PM, Richard Biener
>
wrote:
> >
> > On May 28, 2018 12:45:04 PM GMT+02:00, Andreas Schwab
wrote:
> >> On Mai 28 2018, Richard Biener wrote:
> >>
> >>> It means there's no relocation that can express the result o
> On May 28, 2018, at 12:03 PM, Richard Biener
> wrote:
>
> On May 28, 2018 12:45:04 PM GMT+02:00, Andreas Schwab wrote:
>> On Mai 28 2018, Richard Biener wrote:
>>
>>> It means there's no relocation that can express the result of 's.f -
>> &s.b'
>>> and the frontend doesn't consider this
On May 28, 2018 12:45:04 PM GMT+02:00, Andreas Schwab wrote:
>On Mai 28 2018, Richard Biener wrote:
>
>> It means there's no relocation that can express the result of 's.f -
>&s.b'
>> and the frontend doesn't consider this a constant expression (likely
>because
>> of the conversion).
>
>Shouldn't
On Mai 28 2018, Richard Biener wrote:
> It means there's no relocation that can express the result of 's.f - &s.b'
> and the frontend doesn't consider this a constant expression (likely because
> of the conversion).
Shouldn't the frontend notice that s.f - &s.b by itself is a constant?
Andreas.
On Fri, May 25, 2018 at 8:05 PM Paul Koning wrote:
> One of my testsuite failures for the pdp11 back end is
gcc.c-torture/compile/930326-1.c which is:
> struct
> {
>char a, b, f[3];
> } s;
> long i = s.f-&s.b;
> It fails with "error: initializer element is not computable at load time".
> I