rjmccall added inline comments.

================
Comment at: lib/Sema/SemaDeclCXX.cpp:13010
+  if (SemaRef.getLangOpts().OpenCLCPlusPlus) {
+    if (auto *PtrTy = ResultType.getTypePtr()->getAs<PointerType>()) {
+      ResultType = RemoveAddressSpaceFromPtr(SemaRef, PtrTy);
----------------
`getTypePtr()` is done automatically by `operator->` on `QualType`.  This can 
be fixed in multiple places in this patch.


================
Comment at: lib/Sema/SemaExprCXX.cpp:2030
+      }
+    }
 
----------------
Anastasia wrote:
> svenvh wrote:
> > rjmccall wrote:
> > > I think a better interpretation of this rule would be to just error on 
> > > attempts to use the standard non-placement operator new/delete instead of 
> > > trying to outlaw the operator declarations.  For example, I don't know 
> > > why a user-defined non-global operator new would be problematic.
> > Good point, I have raised this with Khronos, so I will hold this off until 
> > we have clarification.
> The decision by Khronos is to allow all user defined new/delete operators 
> (even global). I have submitted the change to the spec. The next publishing 
> date is however in July.
Okay.  I agree with your decision in this patch to treat this as a defect in 
the spec and thus to go ahead and do the right thing now.


https://reviews.llvm.org/D46651



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

Reply via email to