aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/clang/AST/Type.h10
-rw-r--r--lib/Sema/SemaDecl.cpp2
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)