schittir added inline comments.

================
Comment at: clang/lib/Sema/SemaInit.cpp:5824-5828
   // Handle default initialization.
   if (Kind.getKind() == InitializationKind::IK_Default) {
     TryDefaultInitialization(S, Entity, Kind, *this);
     return;
   }
----------------
tahonermann wrote:
> This block handles default initialization and unconditionally performs a 
> return. I wonder if this effectively guarantees that `Initializer` is 
> non-null if this block is not entered.
Thank you for the review. I am trying to find an explicit connection between 
this block and `Initializer` being non-null, but it isn't clear to me yet. 
How about adding the assert right after this block?


================
Comment at: clang/lib/Sema/SemaInit.cpp:5941
     if (allowObjCWritebackConversion &&
         tryObjCWritebackConversion(S, *this, Entity, Initializer)) {
       return;
----------------
tahonermann wrote:
> This use of `Initializer` is also questionable; 
> `tryObjCWritebackConversion()` will unconditionally dereference it.
Indeed. This set of calls should be addressed too. 


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

https://reviews.llvm.org/D139148

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

Reply via email to