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++.

Renato Golin via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 1 11:32:24 PDT 2015


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.

Ahmed and Reid could maye shed some light.

cheers,
--renato

PS: I'll continue to bisect anyway.


More information about the cfe-commits mailing list