steven_wu added inline comments.
================
Comment at: test/Driver/cuda-bail-out.cu:47
+// CHECK-HOST-ERROR: Error during compilation for host
+// CHECK-HOST-ERROR-NOT: Error during compilation for sm_35
----------------
tra wrote:
> To make it more robust, I'd add another copy of the last line before 
> CHECK-HOST-ERROR: so it would catch device-side errors if they were to happen 
> ahead of the host.
> 
> Generally speaking, expected behavior is "I want to see an error from one 
> compilation only". We don't really care which CUDA compilation phase produces 
> it. Perhaps all we need in all test cases is:
> 
> ```
> CHECK: Error during compilation
> CHECK-NOT:  Error during compilation
> ```
> 
> This way we don't need to depend on specific phase order.
That will be a design choice for CUDA driver. I have no preference going either 
direction. Just let me know so I will update the test case.

Speaking of "-fsyntax-only", this is another interesting behavior of clang cuda 
driver:
```
$ clang -x cuda /dev/null -x c /dev/null -ccc-print-phases
14: input, "/dev/null", c, (host-cuda)
$ clang -fsyntax-only -x cuda /dev/null -x c /dev/null -ccc-print-phases
9: input, "/dev/null", c
```
So depending on if -fsyntax-only is used or not, the c language part can be 
either offloading or not offloading.
This is a corner case that the driver behavior will change after this patch.


https://reviews.llvm.org/D39502



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

Reply via email to