rjmccall added inline comments.

================
Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:3492
+def warn_ignored_objc_externally_retained : Warning<
+  "'objc_externally_retained' can only be applied to strong retainable "
+  "object pointer types with automatic storage">, InGroup<IgnoredAttributes>;
----------------
erik.pilkington wrote:
> aaron.ballman wrote:
> > This wording isn't quite right -- it doesn't apply to types, it applies to 
> > variables of those types. How about: `... to local variables or parameters 
> > of strong, retainable object pointer type`? or something along those lines?
> Sure, that is a bit more clear.
I'd split this into two diagnostics:
- "...can only be applied to local variables and parameters of retainable type" 
(if the type or decl kind is wrong)
- "...can only be applied to variables with strong ownership" (if the qualifier 
is wrong)


================
Comment at: clang/lib/CodeGen/CGDecl.cpp:806
+    // If D is pseudo-strong, omit the retain.
+    LLVM_FALLTHROUGH;
+  }
----------------
`EmitARCUnsafeUnretainedScalarExpr` doesn't just not retain the value, it 
actually triggers different handling, e.g. causing non-autoreleased return 
values to be immediately released.  Now I think we arguably want that behavior 
here, but you should be explicit about it in the comment.


================
Comment at: clang/lib/CodeGen/CGDecl.cpp:2340
+        }
       }
 
----------------
Most of this code is there to support an assertion that's no longer true.  Just 
keep the parts about `lt == OCL_Strong` and `qs.hasConst()`.


================
Comment at: clang/lib/CodeGen/CGExpr.cpp:1946
+    if (isInit && isPseudoStrong)
+      Lifetime = Qualifiers::OCL_ExplicitNone;
+
----------------
Where are we allowing assignments into pseudo-strong variables?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D55865/new/

https://reviews.llvm.org/D55865



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

Reply via email to