diff options
author | Anders Carlsson <andersca@mac.com> | 2009-02-13 08:16:43 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-02-13 08:16:43 +0000 |
commit | b4f3134ca38b63aef1b8efe25d2ca4c16b33afd7 (patch) | |
tree | bbb4c4a4f0a0ba37964727eafa471e071e568b32 | |
parent | 63784f4e5e125b7a81c92c2cf176797ce67b2e6d (diff) | |
download | bcm5719-llvm-b4f3134ca38b63aef1b8efe25d2ca4c16b33afd7.tar.gz bcm5719-llvm-b4f3134ca38b63aef1b8efe25d2ca4c16b33afd7.zip |
Add a new Ignored attribute type, and use it for may_alias.
llvm-svn: 64446
-rw-r--r-- | clang/include/clang/Parse/AttributeList.h | 1 | ||||
-rw-r--r-- | clang/lib/Parse/AttributeList.cpp | 1 | ||||
-rw-r--r-- | clang/lib/Sema/SemaDeclAttr.cpp | 3 |
3 files changed, 5 insertions, 0 deletions
diff --git a/clang/include/clang/Parse/AttributeList.h b/clang/include/clang/Parse/AttributeList.h index e5384ddbcd1..2295c30c90b 100644 --- a/clang/include/clang/Parse/AttributeList.h +++ b/clang/include/clang/Parse/AttributeList.h @@ -81,6 +81,7 @@ public: AT_nsobject, AT_cleanup, AT_nodebug, + IgnoredAttribute, UnknownAttribute }; diff --git a/clang/lib/Parse/AttributeList.cpp b/clang/lib/Parse/AttributeList.cpp index 71712b646f8..7f18a2c325e 100644 --- a/clang/lib/Parse/AttributeList.cpp +++ b/clang/lib/Parse/AttributeList.cpp @@ -89,6 +89,7 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo *Name) { case 9: if (!memcmp(Str, "dllimport", 9)) return AT_dllimport; if (!memcmp(Str, "dllexport", 9)) return AT_dllexport; + if (!memcmp(Str, "may_alias", 9)) return IgnoredAttribute; break; case 10: if (!memcmp(Str, "deprecated", 10)) return AT_deprecated; diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp index 833a52b8159..b585bd544b1 100644 --- a/clang/lib/Sema/SemaDeclAttr.cpp +++ b/clang/lib/Sema/SemaDeclAttr.cpp @@ -1372,6 +1372,9 @@ static void ProcessDeclAttribute(Decl *D, const AttributeList &Attr, Sema &S) { case AttributeList::AT_pure: HandlePureAttr (D, Attr, S); break; case AttributeList::AT_cleanup: HandleCleanupAttr (D, Attr, S); break; case AttributeList::AT_nodebug: HandleNodebugAttr (D, Attr, S); break; + case AttributeList::IgnoredAttribute: + // Just ignore + break; default: #if 0 // TODO: when we have the full set of attributes, warn about unknown ones. |