Anastasia marked 2 inline comments as done.
Anastasia added inline comments.


================
Comment at: lib/Sema/SemaOverload.cpp:6095
+    // Check that addr space of an object being constructed is convertible to
+    // the one ctor qualified with.
+    if (!Qualifiers::isAddressSpaceSupersetOf(
----------------
rjmccall wrote:
> Anastasia wrote:
> > rjmccall wrote:
> > > "Check that the constructor is capable of constructing an object in the 
> > > destination address space."
> > > 
> > > Should there be an exception here for trivial default/copy/move 
> > > constructors?
> > Good point. Current implementation is generating one overload of each 
> > default/copy/move in generic address space only. But we could potentially 
> > look at changing this. If we could add extra overloads once we encounter 
> > each new ctor invocation it would be the easiest approach and this code 
> > would still be applicable. However, I would need to understand the 
> > feasibility in more details. May be this is something for the future work? 
> > Or do you have other suggestions?     
> It's fine to leave it as future work.  I think synthesizing new overloads 
> after the fact will probably be problematic for the AST, though, and it'll be 
> easier to just treat trivial copy/move constructors (and assignment 
> operators, for that matter) as implicitly being able to construct objects in 
> all possible address spaces (as well as *from* all possible address spaces).
Ok, thanks! I will look into this later as a separate patch then.


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

https://reviews.llvm.org/D62156



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

Reply via email to