C++11でトライグラフを無効にしたい
次のようなソースがあります。
test.cpp
#include <stdio.h>
int main()
{
puts("(???)");
return 0;
}
これを g++ test.cpp
の様にコンパイルすると、実行結果は期待通りです。
しかし g++ -std=c++11 test.cpp
とすると、(???)
が(?]
になってしまいます。
clang++ -std=c++1z test.cpp
なら、期待通りに動作しますが、
Debian (jessie) の g++ 4.9.2 では c++1z
を指定することができません。
Ubuntu (16.04) の g++ 5.4.0 では c++1z
は指定でき、期待通りの動作です。
g++ 4.9.2 で c++11 を有効にして、かつトライグラフを無効にする方法はないでしょうか?