Do not warn when weak-import attribute is applied to enum

decl. in Darwin due to certain projects requirement. 
// rdar://10277579


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143082 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Fariborz Jahanian 2011-10-26 23:59:12 +00:00
Родитель 1b8fc01f16
Коммит 90eed219f4
2 изменённых файлов: 9 добавлений и 1 удалений

Просмотреть файл

@ -1949,7 +1949,7 @@ static void handleWeakImportAttr(Sema &S, Decl *D, const AttributeList &Attr) {
<< "weak_import" << 2 /*variable and function*/;
else if (isa<ObjCPropertyDecl>(D) || isa<ObjCMethodDecl>(D) ||
(S.Context.getTargetInfo().getTriple().isOSDarwin() &&
isa<ObjCInterfaceDecl>(D))) {
(isa<ObjCInterfaceDecl>(D) || isa<EnumDecl>(D)))) {
// Nothing to warn about here.
} else
S.Diag(Attr.getLoc(), diag::warn_attribute_wrong_decl_type)

Просмотреть файл

@ -0,0 +1,8 @@
// RUN: %clang_cc1 -fsyntax-only -verify -triple x86_64-apple-darwin %s
// RUN: %clang_cc1 -triple i386-apple-darwin9 -fsyntax-only -verify %s
// rdar://10277579
enum __attribute__((deprecated)) __attribute__((weak_import)) A {
a0
};