yaxunl marked 14 inline comments as done.
yaxunl added inline comments.

================
Comment at: lib/CodeGen/CodeGenTypes.cpp:95
 
-
 /// isRecordLayoutComplete - Return true if the specified type is already
----------------
Anastasia wrote:
> Why this change?
Will undo it.


================
Comment at: lib/CodeGen/TargetInfo.cpp:7294
       llvm::PointerType *T, QualType QT) const override;
+
 };
----------------
rjmccall wrote:
> Spurious newline?
will remove it.


================
Comment at: lib/Sema/SemaDecl.cpp:7206
+    assert(T.getAddressSpace() != LangAS::opencl_constant);
+    if (T.getAddressSpace() == LangAS::opencl_global) {
+      Diag(NewVD->getLocation(), diag::err_opencl_function_variable)
----------------
Anastasia wrote:
> I think it was nicer that all OpenCL related changes were grouped in one spot 
> under the same if statement. Even though it isn't quite done everywhere. But 
> this change makes them even more scattered.
Will move them down.


================
Comment at: test/CodeGenCXX/amdgcn-automatic-variable.cpp:25
+  // CHECK: store i32 2, i32* %[[r1]]
+  int lv1;
+  lv1 = 1;
----------------
Anastasia wrote:
> yaxunl wrote:
> > yaxunl wrote:
> > > Anastasia wrote:
> > > > I am wondering if all these different test cases are really needed. Are 
> > > > we testing any different program paths from the patch?
> > > > 
> > > > Also would it make sense to add a test case with an object in an AS 
> > > > different to 0 (i.e. with `__attribute__((address_space(n)))`)
> > > I think at least I should cover the typical use cases of auto var.
> > > 
> > > I will add a test for __attribute__((address_space(n))))
> > Sorry. I just checked that C++ does not allow 
> > __attribute__((address_space(n))) on automatic var.
> I thought address space was undocumented extension. So essentially you can't 
> have a cast to any address space but a default here? Would it work for the C 
> instead to add `attribute((address_space(n)))`?
As John pointed out, this due to the embedded C specification (ISO/IEC TR 
18037). Clang applies it to all languages except OpenCL.


================
Comment at: test/SemaOpenCL/storageclass-cl20.cl:16
+  global int L3;                              // expected-error{{function 
scope variable cannot be declared in global address space}}
+  __attribute__((address_space(100))) int L4; // expected-error{{automatic 
variable qualified with an invalid address space}}
 
----------------
Anastasia wrote:
> I am guessing generic should be rejected here as well... although it should 
> only apply to pointers. But it seems we don't handle this properly.
will add a line for generic.


https://reviews.llvm.org/D32248



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

Reply via email to