summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseDeclCXX.cpp
diff options
context:
space:
mode:
authorAaron Ballman <aaron@aaronballman.com>2016-03-08 21:31:32 +0000
committerAaron Ballman <aaron@aaronballman.com>2016-03-08 21:31:32 +0000
commitbb5d862a84817e59cf971b1064835508c13f5bb0 (patch)
treefeb36ec80aa7c5d4693d8ff4f71ce9eeaca2efcf /clang/lib/Parse/ParseDeclCXX.cpp
parent7cf3b34d457f22f8c18ed1d69564d77fffc24944 (diff)
downloadbcm5719-llvm-bb5d862a84817e59cf971b1064835508c13f5bb0.tar.gz
bcm5719-llvm-bb5d862a84817e59cf971b1064835508c13f5bb0.zip
Silence duplicate diagnostics because parsing of a standards-based attribute triggers parsing diagnostics that may also be picked up during semantic analysis.
llvm-svn: 262960
Diffstat (limited to 'clang/lib/Parse/ParseDeclCXX.cpp')
-rw-r--r--clang/lib/Parse/ParseDeclCXX.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Parse/ParseDeclCXX.cpp b/clang/lib/Parse/ParseDeclCXX.cpp
index 15aded52b45..354e405875b 100644
--- a/clang/lib/Parse/ParseDeclCXX.cpp
+++ b/clang/lib/Parse/ParseDeclCXX.cpp
@@ -3695,6 +3695,7 @@ bool Parser::ParseCXX11AttributeArgs(IdentifierInfo *AttrName,
// The attribute was allowed to have arguments, but none were provided
// even though the attribute parsed successfully. This is an error.
Diag(LParenLoc, diag::err_attribute_requires_arguments) << AttrName;
+ Attr->setInvalid(true);
} else if (!Attr->getMaxArgs()) {
// The attribute parsed successfully, but was not allowed to have any
// arguments. It doesn't matter whether any were provided -- the
@@ -3702,6 +3703,7 @@ bool Parser::ParseCXX11AttributeArgs(IdentifierInfo *AttrName,
Diag(LParenLoc, diag::err_cxx11_attribute_forbids_arguments)
<< AttrName
<< FixItHint::CreateRemoval(SourceRange(LParenLoc, *EndLoc));
+ Attr->setInvalid(true);
}
}
}
OpenPOWER on IntegriCloud