[patch] Fix pr22849

Reid Kleckner rnk at google.com
Tue Mar 10 18:20:44 PDT 2015

On Tue, Mar 10, 2015 at 6:02 PM, John McCall <rjmccall at apple.com> wrote:

> > On Mar 9, 2015, at 3:05 PM, Rafael EspĂ­ndola <rafael.espindola at gmail.com>
> wrote:
> > If I remember correctly, clang's strategy for handling language linkage
> in C is to pretend that C has language linkage and say that everything has
> C language linkage.
> >
> > If that is the case, the attached patch is probably the correct fix.
> Hmm.  This is probably a crash/miscompile waiting to happen in a lot of
> different places.  You can produce it in potentially-evaluated code in C++,
> too, in an in-class initializer.
> We should probably push a local DeclContext when we enter a
> statement-expression outside of a local context.

+1, my first reaction to the reduced test case was, "why are we in a record
declcontext when declaring variables in statement expressions?" Finding a
way to get out of that state seems like a better fix.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150310/126e688d/attachment.html>

More information about the cfe-commits mailing list