Thank you for the review, Peter. PTAL

================
Comment at: include/clang/Basic/Attr.td:545
@@ +544,3 @@
+def CUDAInvalidTarget : InheritableAttr {
+  let Spellings = [GNU<"invalid_target">];
+  let Subjects = SubjectList<[Function]>;
----------------
pcc wrote:
> This doesn't seem like it should have a spelling.
Done

================
Comment at: lib/Sema/SemaCUDA.cpp:101
@@ +100,3 @@
+  assert((Target1 != Sema::CFT_Global && Target2 != Sema::CFT_Global) &&
+         "Special members cannot be marked global");
+
----------------
pcc wrote:
> Is there anything preventing a special member from being manually marked as 
> global? (Apparently not; this parses without errors with a recent clang:)
> 
>     struct A {
>       __attribute__((global)) A() {}
>     };
Right. I think this should be detected earlier (when a method is constructed) 
with an appropriate error. I'll change the assertion to a runtime test for now 
- but am also adding a TODO to have a more descriptive error earlier.

================
Comment at: lib/Sema/SemaDeclCXX.cpp:10438
@@ -10402,1 +10437,3 @@
   CopyConstructor->setDefaulted();
+  CopyConstructor->setImplicit();
+
----------------
pcc wrote:
> It looks like this is already set by the `/*isImplicitlyDeclared=*/true` 
> parameter passed to `CXXConstructorDecl::Create`.
This was cargo-culted from the creation of implicit default ctor and dtor. 
Fixed now - I've also fixed the source of the carto-culting :) Thanks for 
noticing this

================
Comment at: lib/Sema/SemaDeclCXX.cpp:10611
@@ -10567,1 +10610,3 @@
   MoveConstructor->setDefaulted();
+  MoveConstructor->setImplicit();
+
----------------
pcc wrote:
> Likewise.
Fixed

http://reviews.llvm.org/D5199



_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to