]> granicus.if.org Git - clang/commitdiff
[Objective-C Sema]. In my last patch change the
authorFariborz Jahanian <fjahanian@apple.com>
Thu, 16 Apr 2015 21:52:34 +0000 (21:52 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Thu, 16 Apr 2015 21:52:34 +0000 (21:52 +0000)
attribute name to objc_independent_class.
rdar://20255473

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@235135 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/Type.h
include/clang/Basic/Attr.td
include/clang/Basic/DiagnosticSemaKinds.td
test/SemaObjC/objc-independent-class-attribute.m [new file with mode: 0644]
test/SemaObjC/psuedo-class-attribute.m [deleted file]

index 6eb94405b95ce032765abefdefa425710c28126e..8cd29b7b917eafe5898100fff9ef6770d6bd1370 100644 (file)
@@ -1575,7 +1575,7 @@ public:
   bool isObjCLifetimeType() const;              // (array of)* retainable type
   bool isObjCIndirectLifetimeType() const;      // (pointer to)* lifetime type
   bool isObjCNSObjectType() const;              // __attribute__((NSObject))
-  bool isObjCIndependentClassType() const;      // __attribute__((IndependentClass))
+  bool isObjCIndependentClassType() const;      // __attribute__((objc_independent_class))
   // FIXME: change this to 'raw' interface type, so we can used 'interface' type
   // for the common case.
   bool isObjCObjectType() const;                // NSString or typeof(*(id)0)
index 423fdc67847b2e5fe1e70bb39a81f46466beff41..0e5e9fa6d6175a624013437412ec401882697810 100644 (file)
@@ -1059,7 +1059,7 @@ def ObjCNSObject : InheritableAttr {
 }
 
 def ObjCIndependentClass : InheritableAttr {
-  let Spellings = [GNU<"IndependentClass">];
+  let Spellings = [GNU<"objc_independent_class">];
   let Documentation = [Undocumented];
 }
 
index 6199aebc9522f94e333ad9c50d96dadaba4b6f9f..4ac4c19a583cbc634233ed12ac10fa390857acba 100644 (file)
@@ -2201,11 +2201,11 @@ def warn_nsobject_attribute : Warning<
   "'NSObject' attribute may be put on a typedef only; attribute is ignored">,
   InGroup<NSobjectAttribute>;
 def warn_independentclass_attribute : Warning<
-  "'IndependentClass' attribute may be put on a typedef only; "
+  "'objc_independent_class' attribute may be put on a typedef only; "
   "attribute is ignored">,
   InGroup<IndependentClassAttribute>;
 def warn_ptr_independentclass_attribute : Warning<
-  "'IndependentClass' attribute may be put on Objective-C object "
+  "'objc_independent_class' attribute may be put on Objective-C object "
   "pointer type only; attribute is ignored">,
   InGroup<IndependentClassAttribute>;
 def warn_attribute_weak_on_local : Warning<
diff --git a/test/SemaObjC/objc-independent-class-attribute.m b/test/SemaObjC/objc-independent-class-attribute.m
new file mode 100644 (file)
index 0000000..2fc13f0
--- /dev/null
@@ -0,0 +1,36 @@
+// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
+// rdar://20255473
+
+@interface NSObject @end
+
+typedef NSObject * __attribute__((objc_independent_class))dispatch_queue_t;
+
+typedef struct S {int ii; } * __attribute__((objc_independent_class))dispatch_queue_t_2; // expected-warning {{Objective-C object}}
+
+typedef struct { // expected-warning {{'objc_independent_class' attribute may be put on a typedef only; attribute is ignored}}
+   NSObject *__attribute__((objc_independent_class)) ns; // expected-warning {{'objc_independent_class' attribute may be put on a typedef only; attribute is ignored}}
+} __attribute__((objc_independent_class)) T;
+
+dispatch_queue_t dispatch_queue_create();
+
+@interface DispatchQPointerCastIssue : NSObject {
+  NSObject *__attribute__((objc_independent_class)) Ivar; // expected-warning {{'objc_independent_class' attribute may be put on a typedef only; attribute is ignored}}
+}
+
+@property (copy) NSObject *__attribute__((objc_independent_class)) Prop; // expected-warning {{'objc_independent_class' attribute may be put on a typedef only; attribute is ignored}}
+
+typedef NSObject * __attribute__((objc_independent_class))dispatch_queue_t_1;
+
+@end
+
+@implementation DispatchQPointerCastIssue
++ (dispatch_queue_t) newDispatchQueue {
+    return dispatch_queue_create();
+}
+@end
+
+NSObject *get_nsobject() {
+  typedef NSObject * __attribute__((objc_independent_class))dispatch_queue_t;
+  dispatch_queue_t dt;
+  return dt;
+}
diff --git a/test/SemaObjC/psuedo-class-attribute.m b/test/SemaObjC/psuedo-class-attribute.m
deleted file mode 100644 (file)
index c6ba077..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
-// rdar://20255473
-
-@interface NSObject @end
-
-typedef NSObject * __attribute__((IndependentClass))dispatch_queue_t;
-
-typedef struct S {int ii; } * __attribute__((IndependentClass))dispatch_queue_t_2; // expected-warning {{Objective-C object}}
-
-typedef struct { // expected-warning {{'IndependentClass' attribute may be put on a typedef only; attribute is ignored}}
-   NSObject *__attribute__((IndependentClass)) ns; // expected-warning {{'IndependentClass' attribute may be put on a typedef only; attribute is ignored}}
-} __attribute__((IndependentClass)) T;
-
-dispatch_queue_t dispatch_queue_create();
-
-@interface DispatchQPointerCastIssue : NSObject {
-  NSObject *__attribute__((IndependentClass)) Ivar; // expected-warning {{'IndependentClass' attribute may be put on a typedef only; attribute is ignored}}
-}
-
-@property (copy) NSObject *__attribute__((IndependentClass)) Prop; // expected-warning {{'IndependentClass' attribute may be put on a typedef only; attribute is ignored}}
-
-typedef NSObject * __attribute__((IndependentClass))dispatch_queue_t_1;
-
-@end
-
-@implementation DispatchQPointerCastIssue
-+ (dispatch_queue_t) newDispatchQueue {
-    return dispatch_queue_create();
-}
-@end
-
-NSObject *get_nsobject() {
-  typedef NSObject * __attribute__((IndependentClass))dispatch_queue_t;
-  dispatch_queue_t dt;
-  return dt;
-}