diff options
author | Alexis Hunt <alercah@gmail.com> | 2012-06-19 23:57:03 +0000 |
---|---|---|
committer | Alexis Hunt <alercah@gmail.com> | 2012-06-19 23:57:03 +0000 |
commit | 3bc72c1ec2b9828083cd0afad16fd655ca472916 (patch) | |
tree | d635d83cda9db8f4f23d945052c740e248a804e7 /clang/lib/Parse/ParseDecl.cpp | |
parent | 3802bbf35ed95784a0764f06ead52802a06bbd33 (diff) | |
download | bcm5719-llvm-3bc72c1ec2b9828083cd0afad16fd655ca472916.tar.gz bcm5719-llvm-3bc72c1ec2b9828083cd0afad16fd655ca472916.zip |
Reapply r158700 and fixup patches, minus one hunk that slipped through and
caused a crash in an obscure case. On the plus side, it caused me to catch
another bug by inspection.
llvm-svn: 158767
Diffstat (limited to 'clang/lib/Parse/ParseDecl.cpp')
-rw-r--r-- | clang/lib/Parse/ParseDecl.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp index 554a60e4254..3c1c7e213ff 100644 --- a/clang/lib/Parse/ParseDecl.cpp +++ b/clang/lib/Parse/ParseDecl.cpp @@ -277,7 +277,7 @@ void Parser::ParseGNUAttributeArgs(IdentifierInfo *AttrName, Attrs.addNew(AttrName, SourceRange(AttrNameLoc, RParen), 0, AttrNameLoc, ParmName, ParmLoc, ArgExprs.take(), ArgExprs.size(), AttributeList::AS_GNU); - if (BuiltinType && attr->getKind() == AttributeList::AT_iboutletcollection) + if (BuiltinType && attr->getKind() == AttributeList::AT_IBOutletCollection) Diag(Tok, diag::err_iboutletcollection_builtintype); } } @@ -1981,9 +1981,12 @@ void Parser::ParseAlignmentSpecifier(ParsedAttributes &Attrs, ExprVector ArgExprs(Actions); ArgExprs.push_back(ArgExpr.release()); + // FIXME: This should not be GNU, but we since the attribute used is + // based on the spelling, and there is no true spelling for + // C++11 attributes, this isn't accepted. Attrs.addNew(PP.getIdentifierInfo("aligned"), KWLoc, 0, KWLoc, 0, T.getOpenLocation(), ArgExprs.take(), 1, - AttributeList::AS_CXX11); + AttributeList::AS_GNU); } /// ParseDeclarationSpecifiers |