rjmccall added inline comments.

================
Comment at: lib/Sema/SemaDeclCXX.cpp:8219
+          // to allow skipping it. However we are not visiting all qual
+          // currently and therefore there is no condition yet.
           Diag(SL, diag::err_invalid_qualified_constructor)
----------------
I don't think this is a FIXME; it's just a notice to future maintainers.  How 
about something like: "We want to emit a diagnostic on any qualifier except an 
address-space qualifier.  However, forEachQualifier currently doesn't visit 
address-space qualifiers, so there's no way to write this condition right now; 
we just diagnose on everything."


================
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(
----------------
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).


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