我想应用特定的标志nvcc pragma,例如关闭noreturn_function_does_return
类型的警告 - 但仅适用于我的某些功能。
现在,在此答案中,它说我应该能够写:
#pragma push
#pragma diag_suppress = noreturn_function_does_return
...
#pragma pop
确实可以解决我的问题;除了推动和弹出没有起作用:我对这两个布拉格马被忽略了警告。另外,我无法弄清楚这应该如何影响其他警告标志(因为它是=
而不是+=
(
那么,有一种实际推动和弹出的方法吗?或至少 - 抑制然后取消抑制一定的警告?
注意:我在devuan ascii(〜= debian stretch(系统上使用CUDA 9.2.88 NVCC。
而无需详细介绍,并且使用CUDA的最新版本(9.2.88,10.x及以后( - 这应该可以解决:
#pragma diag_suppress = noreturn_function_does_return
... your code here ...
#pragma diag_default = noreturn_function_does_return
有关详细信息,请查看答案最初链接到的问题,该问题已更新...