kristina added inline comments.

================
Comment at: test/Misc/pragma-attribute-supported-attributes-list.test:100
+// CHECK-NEXT: ObjCReturnsInnerPointer (SubjectMatchRule_objc_method, 
SubjectMatchRule_objc_property)
+// CHECK-NEXT: ObjCRootClass (SubjectMatchRule_objc_interface)
 // CHECK-NEXT: ObjCRuntimeName (SubjectMatchRule_objc_interface, 
SubjectMatchRule_objc_protocol)
----------------
rsmith wrote:
> kristina wrote:
> > There is only one root class in a given runtime (ie. NSObject for objc4, or 
> > Object for older Apple runtimes, ObjFW also has a different root class). 
> > Having more than one makes no sense especially in the same lexical context 
> > as there are no use cases I can think of where you would have more than one 
> > active ObjC runtime within a process.
> Thanks. Yes, this attribute probably doesn't make very much sense to use in 
> conjunction with the pragma.
> 
> So, do we explicitly disallow it, or do we allow it with the expectation that 
> it's likely that no-one will ever want to use it? (That is, do we want to 
> disallow cases that are not useful, or merely cases that are not meaningful?) 
> I don't have a strong opinion here, but I'm mildly inclined towards allowing 
> the pragma on any attribute where it's meaningful, as there may be useful 
> uses that we just didn't think of, and it costs nothing to permit.
Yes in theory it could only be used on a single interface in which case it 
would be perfectly valid. Otherwise when used incorrectly it would issue a 
diagnostic. As per your inclination of allowing it for all attributes I would 
say leave it allowed, as it **can** be used in a correct way. Diagnostics are 
sufficient enough to point out when it happens to apply the attribute to more 
than one interface.

So given your comment, I would say leave it as allowed.


Repository:
  rC Clang

https://reviews.llvm.org/D51507



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to