В файле CUDA есть некоторый код C++, который использует эту прагму:
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-result"
void foobar()
{
// some code
}
#pragma GCC diagnostic pop
Когда этот файл CUDA скомпилирован с использованием компилятора CUDA 5.5 nvcc, стадия компиляции хоста работает нормально, но стадия компиляции устройства выдает следующее предупреждение:
foobar.cu(420): warning: unrecognized GCC pragma
Похоже, компилятор CUDA понимает, что это прагма GCC. Я понятия не имею, почему он пытается понять все прагмы GCC. Есть ли способ исправить это предупреждение или убрать это предупреждение?
Обновление: обратите внимание, что передача параметра -Xcudafe "--diag_suppress=unrecognized_pragma"
компилятору nvcc, похоже, не имеет никакого эффекта.