summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseDeclCXX.cpp
diff options
context:
space:
mode:
authorAaron Ballman <aaron@aaronballman.com>2016-03-07 22:44:55 +0000
committerAaron Ballman <aaron@aaronballman.com>2016-03-07 22:44:55 +0000
commite7964789dabaa5b9fb26c50f54deafb7fb8db4d6 (patch)
treee9284db077152c2c9222edb213e39ebbb193ef7d /clang/lib/Parse/ParseDeclCXX.cpp
parent146c14ac33136ebff2714f4596f6d7db85d6b5e8 (diff)
downloadbcm5719-llvm-e7964789dabaa5b9fb26c50f54deafb7fb8db4d6.tar.gz
bcm5719-llvm-e7964789dabaa5b9fb26c50f54deafb7fb8db4d6.zip
Implement support for [[nodiscard]] in C++1z that is based off existing support for warn_unused_result, and treat it as an extension pre-C++1z. This also means extending the existing warn_unused_result attribute so that it can be placed on an enum as well as a class.
llvm-svn: 262872
Diffstat (limited to 'clang/lib/Parse/ParseDeclCXX.cpp')
-rw-r--r--clang/lib/Parse/ParseDeclCXX.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Parse/ParseDeclCXX.cpp b/clang/lib/Parse/ParseDeclCXX.cpp
index 798284b3d39..15aded52b45 100644
--- a/clang/lib/Parse/ParseDeclCXX.cpp
+++ b/clang/lib/Parse/ParseDeclCXX.cpp
@@ -3635,7 +3635,8 @@ static bool IsBuiltInOrStandardCXX11Attribute(IdentifierInfo *AttrName,
case AttributeList::AT_FallThrough:
case AttributeList::AT_CXX11NoReturn:
return true;
-
+ case AttributeList::AT_WarnUnusedResult:
+ return !ScopeName && AttrName->getName().equals("nodiscard");
default:
return false;
}
OpenPOWER on IntegriCloud