に一定の警告が、私はこのようにassert文に警告controlling expression is constant
を取得された発現を制御する与える:CUDA:NVCCがアサート
assert(... && "error message");
なぜこのアサートでこの警告?どうすればこの警告を抑制できますか?
NVCCは、私はそれがLLVMに基づいていると思う、NVIDIAのCUDAコンパイラです。なぜGCCやVisual C++コンパイラでコンパイルできたらこの警告が出るのですか? Controlling Diagnostics via Pragmasから
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wmultichar"
char b = 'df'; // no warning.
#pragma clang diagnostic pop
:それはLLVMベースとしている場合
コンパイラはNVCC2.0の参照に応じてLinux上でGCCをデフォルトとすべきです。 –
gcc(少なくとも3.4.4と4.3.2)は警告を出しません。おそらく、 '#ifdef __GNUC__' /' __GNUG__'を介してコンパイラを検証しようとしますか? –
私は警告を再現することさえできません、そして、私はgccにその警告を抑制するためのフラグがありません。奇妙な。 –