Ab.の日記: VS2012 VC++ で internal compiler error
struct x {
};
void
z(const x &xx)
{
for (auto &m : xx) {
}
}
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
で間違ったものに Range-Based For Loop を使ってしまっていますが Visual Studio 2012 IDE 上でビルドするとこんな感じ
1>------ ビルド開始: プロジェクト: InternalCompilerErrorVC2012, 構成: Debug Win32 ------
1> Microsoft(R) C/C++ Optimizing Compiler Version 17.00.61030 for x86
1> Copyright (C) Microsoft Corporation. All rights reserved.
1>
1> cl /c /ZI /nologo- /W3 /WX- /sdl /Od /Oy- /D WIN32 /D _DEBUG /D _CONSOLE /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Debug\\" /Fd"Debug\vc110.pdb" /Gd /TP /analyze- /errorReport:prompt InternalCompilerErrorVC2012.cpp
1>cl : コマンド ライン warning D9035: オプション 'nologo-' の使用は現在推奨されていません。今後のバージョンからは削除されます。
1>
1> InternalCompilerErrorVC2012.cpp
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets(347,5): error MSB6006: "CL.exe" はコード 1 を伴って終了しました。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
msbuild で build するとこんなメッセージで C compiler が死にます。
C:\VS2012\VC\bin\CL.exe での内部コンパイラ エラーです。エラー報告をマイクロソフトに送信するために、後でメッセージが表示されます。
range based for loop 自体は http://msdn.microsoft.com/ja-jp/library/hh567368(v=vs.110).aspx を見るとサポートされているのですが、エラーチェックが甘いようですね。
VS2012 VC++ で internal compiler error More ログイン