Simple file fails to compile with -O2 or -O3
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
nvidia-cuda-toolkit (Debian) |
Fix Released
|
Unknown
|
|||
nvidia-cuda-toolkit (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
I have a new laptop with Ubuntu 16.06 (xenial) installed onto a new partition, plus nvidia-cuda-toolkit 7.5.18-0ubuntu1 from multiverse.
$ echo '#include <stdio.h>' > dummy.cpp
$ g++ -c -O2 dummy.cpp
$ cp dummy.cpp dummy.cu
$ nvcc -c -O2 dummy.cu
/usr/include/
/usr/include/
return (char *) memcpy (__dest, __src, __n) + __n;
nvcc can compile it at -O0 and -O1, and it is a conforming translation unit (modulo the addition of at least one definition after the #include statement; including such a definition does not affect the error).
Changed in nvidia-cuda-toolkit (Debian): | |
status: | Unknown → New |
tags: | added: patch |
Changed in nvidia-cuda-toolkit (Debian): | |
status: | New → Fix Released |
Changed in nvidia-cuda-toolkit (Ubuntu): | |
status: | Confirmed → Fix Released |
Please try the following workaround:
$ nvcc -c -O2 -D_FORCE_INLINES dummy.cu