关于无法识别的GCC编译指示的CUDA编译器警告

时间:2014-04-01 07:50:05

标签: cuda compiler-warnings nvcc

CUDA文件中有一些使用此编译指示的C ++代码:

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-result"
    void foobar()
    {
        // some code
    }
#pragma GCC diagnostic pop

当使用CUDA 5.5 nvcc编译器编译此CUDA文件时,主机编译器阶段很好,但设备编译器阶段会产生此警告:

foobar.cu(420): warning: unrecognized GCC pragma

看起来CUDA编译器明白这是一个GCC编译指示。我不知道它为什么要试图了解所有GCC编译指示。是否有任何方法可以解决此警告或使此警告消失?

更新:请注意,将-Xcudafe "--diag_suppress=unrecognized_pragma"选项传递给nvcc编译器似乎没有任何效果。

2 个答案:

答案 0 :(得分:1)

the duplicate question所示,您需要将以下标志传递给nvcc:

-Xcudafe "--diag_suppress=unrecognized_pragma"

答案 1 :(得分:0)

试试这个:

-Xcudafe "--diag_suppress=unrecognized_gcc_pragma"