diff options
author | John McCall <rjmccall@apple.com> | 2010-12-24 02:08:15 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2010-12-24 02:08:15 +0000 |
commit | 7f040a9d817cd1c72b565e92abff473510bf9e1d (patch) | |
tree | 4f168629b32435bb24409a5f6ee03a82ede2de23 /lib/Parse/ParseTemplate.cpp | |
parent | 6e4e17de3df88ead7eaf51b3503a6be1718438c0 (diff) |
Refactor how we collect attributes during parsing, and add slots for attributes
on array and function declarators. This is pretty far from complete, and I'll
revisit it later if someone doesn't beat me to it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122535 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Parse/ParseTemplate.cpp')
-rw-r--r-- | lib/Parse/ParseTemplate.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/lib/Parse/ParseTemplate.cpp b/lib/Parse/ParseTemplate.cpp index d38d0599ac..afa2cc62f9 100644 --- a/lib/Parse/ParseTemplate.cpp +++ b/lib/Parse/ParseTemplate.cpp @@ -196,20 +196,18 @@ Parser::ParseSingleDeclarationAfterTemplate( return 0; } - CXX0XAttributeList PrefixAttrs; - if (getLang().CPlusPlus0x && isCXX0XAttributeSpecifier()) - PrefixAttrs = ParseCXX0XAttributes(); + ParsedAttributesWithRange prefixAttrs; + MaybeParseCXX0XAttributes(prefixAttrs); if (Tok.is(tok::kw_using)) return ParseUsingDirectiveOrDeclaration(Context, TemplateInfo, DeclEnd, - PrefixAttrs); + prefixAttrs); // Parse the declaration specifiers, stealing the accumulated // diagnostics from the template parameters. ParsingDeclSpec DS(DiagsFromTParams); - if (PrefixAttrs.HasAttr) - DS.AddAttributes(PrefixAttrs.AttrList); + DS.takeAttributesFrom(prefixAttrs); ParseDeclarationSpecifiers(DS, TemplateInfo, AS, getDeclSpecContextFromDeclaratorContext(Context)); |