r246548 - Add a new frontend warning for referencing members from the handler of a constructor or destructor function-try-block, which is UB in C++.

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 1 12:09:57 PDT 2015


On Tue, Sep 1, 2015 at 2:32 PM, Renato Golin <renato.golin at linaro.org> wrote:
> On 1 September 2015 at 19:23, Aaron Ballman <aaron at aaronballman.com> wrote:
>> On Tue, Sep 1, 2015 at 2:10 PM, Renato Golin <renato.golin at linaro.org> wrote:
>>> On 1 September 2015 at 18:17, Renato Golin <renato.golin at linaro.org> wrote:
>>>> Ok, I cleared the stage2 build directory, let's see how this build goes...
>>>>
>>>> http://lab.llvm.org:8011/builders/clang-cmake-armv7-a15-selfhost-neon/builds/3248
>>>
>>> Nah, there is something definitely wrong with that. I'll bisect here
>>> to make sure it wasn't your patch.
>>>
>>> For now, the other buildbots should cover for the other breakages, so
>>> we can keep this one failing until we're sure of it.
>>
>> I just got a notice for a similar failure:
>> http://lab.llvm.org:8011/builders/clang-cmake-thumbv7-a15-full-sh/builds/2130
>>
>> Could this be some ARM-specific issue?
>>
>> What's really weird is, the only practical change in this was to
>> Sema::BuildMemberReferenceExpr() to issue a warning diagnostic (and
>> not early return, continue as-normal). The rest of the changes were to
>> thread Scope * from the parser into Sema to accommodate. Very strange.
>
> It could. I'm suspecting that this is related to the class alignment
> problem that plagues ARM for at least one year.
>
> If I'm right, than this is not a code gen fault at all, but a
> misaligned structure in Clang that is getting the wrong value.

Like a parameter/local misalignment?

> Ahmed and Reid could maye shed some light.
>
> cheers,
> --renato
>
> PS: I'll continue to bisect anyway.

Thank you for this!

~Aaron


More information about the cfe-commits mailing list