diff options
author | Alexis Hunt <alercah@gmail.com> | 2009-11-25 04:20:27 +0000 |
---|---|---|
committer | Alexis Hunt <alercah@gmail.com> | 2009-11-25 04:20:27 +0000 |
commit | 54a025488774f15799f57ea3657d02b5149e7f45 (patch) | |
tree | 67912af1f6d40eb1e7ed6265306379a0d48b9d83 /clang/lib/Parse | |
parent | ddeb7e09cb09423e4356697087fdf9b643c64ab6 (diff) | |
download | bcm5719-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.cpp | 13 | ||||
-rw-r--r-- | clang/lib/Parse/ParseDeclCXX.cpp | 7 |
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(); |