r184498 - Fix a crash with __flaot128 noticed by Eli.

John McCall rjmccall at apple.com
Thu Jun 20 18:43:36 PDT 2013


On Jun 20, 2013, at 6:31 PM, Nico Weber <thakis at chromium.org> wrote:
> On Thu, Jun 20, 2013 at 4:43 PM, Richard Smith <richard at metafoo.co.uk> wrote:
> On Thu, Jun 20, 2013 at 4:30 PM, Nico Weber <nicolasweber at gmx.de> wrote:
> > Author: nico
> > Date: Thu Jun 20 18:30:30 2013
> > New Revision: 184498
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=184498&view=rev
> > Log:
> > Fix a crash with __flaot128 noticed by Eli.
> >
> >
> > Modified:
> >     cfe/trunk/lib/AST/ASTContext.cpp
> >     cfe/trunk/test/Sema/128bitfloat.cc
> >
> > Modified: cfe/trunk/lib/AST/ASTContext.cpp
> > URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ASTContext.cpp?rev=184498&r1=184497&r2=184498&view=diff
> > ==============================================================================
> > --- cfe/trunk/lib/AST/ASTContext.cpp (original)
> > +++ cfe/trunk/lib/AST/ASTContext.cpp Thu Jun 20 18:30:30 2013
> > @@ -859,12 +859,12 @@ TypedefDecl *ASTContext::getUInt128Decl(
> >
> >  TypeDecl *ASTContext::getFloat128StubType() const {
> >    if (!Float128StubDecl) {
> > -    Float128StubDecl = RecordDecl::Create(const_cast<ASTContext &>(*this),
> > -                                          TTK_Struct,
> > -                                          getTranslationUnitDecl(),
> > -                                          SourceLocation(),
> > -                                          SourceLocation(),
> > -                                          &Idents.get("__float128"));
> > +    Float128StubDecl = CXXRecordDecl::Create(const_cast<ASTContext &>(*this),
> > +                                             TTK_Struct,
> > +                                             getTranslationUnitDecl(),
> > +                                             SourceLocation(),
> > +                                             SourceLocation(),
> > +                                             &Idents.get("__float128"));
> 
> Maybe assert getLangOpts().CPlusPlus before creating a CXXRecordDecl?
> 
> Sure, why not :-) r184516.

Is this profoundly C++-specific for some reason?  There's already a CreateRecordDecl helper routine in ASTContext.cpp for creating the appropriate variety of record.

John.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130620/12cfef54/attachment.html>


More information about the cfe-commits mailing list