Ubuntu 14.04でClang 3.7.0を使用してMemory Sanitizerをいじっています。次のコードは完全に機能します。
#include <cstdio>
int main() {
double ans;
printf("Hello World: %f\n", ans);
return 0;
}
でコンパイルすると
clang++ -g -O1 -fsanitize=memory -fsanitize-memory-track-origins=2 -fomit-frame-pointer sanitize.cpp -o sanitize
私はエラーを期待していました。ans が初期化されていないという事実を Memory Sanitizer はキャッチしませんか?
ご協力いただきありがとうございます。