summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse
diff options
context:
space:
mode:
authorAlexis Hunt <alercah@gmail.com>2009-11-25 04:20:27 +0000
committerAlexis Hunt <alercah@gmail.com>2009-11-25 04:20:27 +0000
commit54a025488774f15799f57ea3657d02b5149e7f45 (patch)
tree67912af1f6d40eb1e7ed6265306379a0d48b9d83 /clang/lib/Parse
parentddeb7e09cb09423e4356697087fdf9b643c64ab6 (diff)
downloadbcm5719-llvm-54a025488774f15799f57ea3657d02b5149e7f45.tar.gz
bcm5719-llvm-54a025488774f15799f57ea3657d02b5149e7f45.zip
Parse C++ member check attributes - base_check, hiding, and override.
The attributes are currently ignored. llvm-svn: 89837
Diffstat (limited to 'clang/lib/Parse')
-rw-r--r--clang/lib/Parse/AttributeList.cpp13
-rw-r--r--clang/lib/Parse/ParseDeclCXX.cpp7
2 files changed, 13 insertions, 7 deletions
diff --git a/clang/lib/Parse/AttributeList.cpp b/clang/lib/Parse/AttributeList.cpp
index 7e2935c2e02..df48e3a7861 100644
--- a/clang/lib/Parse/AttributeList.cpp
+++ b/clang/lib/Parse/AttributeList.cpp
@@ -65,11 +65,12 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo *Name) {
.Case("final", AT_final)
.Case("cdecl", AT_cdecl)
.Case("const", AT_const)
- .Case("packed", AT_packed)
- .Case("malloc", AT_malloc)
+ .Case("blocks", AT_blocks)
.Case("format", AT_format)
+ .Case("hiding", AT_hiding)
+ .Case("malloc", AT_malloc)
+ .Case("packed", AT_packed)
.Case("unused", AT_unused)
- .Case("blocks", AT_blocks)
.Case("aligned", AT_aligned)
.Case("cleanup", AT_cleanup)
.Case("nodebug", AT_nodebug)
@@ -80,15 +81,17 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo *Name) {
.Case("section", AT_section)
.Case("stdcall", AT_stdcall)
.Case("annotate", AT_annotate)
- .Case("noreturn", AT_noreturn)
- .Case("noinline", AT_noinline)
.Case("fastcall", AT_fastcall)
.Case("iboutlet", AT_IBOutlet)
+ .Case("noreturn", AT_noreturn)
+ .Case("noinline", AT_noinline)
+ .Case("override", AT_override)
.Case("sentinel", AT_sentinel)
.Case("NSObject", AT_nsobject)
.Case("dllimport", AT_dllimport)
.Case("dllexport", AT_dllexport)
.Case("may_alias", IgnoredAttribute) // FIXME: TBAA
+ .Case("base_check", AT_base_check)
.Case("deprecated", AT_deprecated)
.Case("visibility", AT_visibility)
.Case("destructor", AT_destructor)
diff --git a/clang/lib/Parse/ParseDeclCXX.cpp b/clang/lib/Parse/ParseDeclCXX.cpp
index 2a3b5d665cc..59cb90d6d05 100644
--- a/clang/lib/Parse/ParseDeclCXX.cpp
+++ b/clang/lib/Parse/ParseDeclCXX.cpp
@@ -1699,9 +1699,12 @@ CXX0XAttributeList Parser::ParseCXX0XAttributes(SourceLocation *EndLoc) {
switch(AttributeList::getKind(AttrName))
{
// No arguments
- case AttributeList::AT_noreturn:
+ case AttributeList::AT_base_check:
+ case AttributeList::AT_carries_dependency:
case AttributeList::AT_final:
- case AttributeList::AT_carries_dependency: {
+ case AttributeList::AT_hiding:
+ case AttributeList::AT_noreturn:
+ case AttributeList::AT_override: {
if (Tok.is(tok::l_paren)) {
Diag(Tok.getLocation(), diag::err_cxx0x_attribute_forbids_arguments)
<< AttrName->getName();
OpenPOWER on IntegriCloud