diff options
-rw-r--r-- | include/clang/AST/Type.h | 10 | ||||
-rw-r--r-- | lib/Sema/SemaDecl.cpp | 2 |
2 files changed, 11 insertions, 1 deletions
diff --git a/include/clang/AST/Type.h b/include/clang/AST/Type.h index 644be13f5f..7554b697e3 100644 --- a/include/clang/AST/Type.h +++ b/include/clang/AST/Type.h @@ -195,6 +195,16 @@ public: /// GCAttrTypesAttr - Returns gc attribute of this type. inline QualType::GCAttrTypes getObjCGCAttr() const; + + /// isObjCGCWeak true when Type is objc's weak. + bool isObjCGCWeak() const { + return getObjCGCAttr() == Weak; + } + + /// isObjCGCStrong true when Type is objc's strong. + bool isObjCGCStrong() const { + return getObjCGCAttr() == Strong; + } /// Emit - Serialize a QualType to Bitcode. void Emit(llvm::Serializer& S) const; diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp index 9cd5bc8069..294be70488 100644 --- a/lib/Sema/SemaDecl.cpp +++ b/lib/Sema/SemaDecl.cpp @@ -3510,7 +3510,7 @@ Sema::DeclTy *Sema::ActOnField(Scope *S, DeclTy *TagD, } ProcessDeclAttributes(NewFD, D); - if (T.getObjCGCAttr() == QualType::Weak) + if (T.isObjCGCWeak()) Diag(Loc, diag::warn_attribute_weak_on_field); if (D.getInvalidType() || InvalidDecl) |