Created
October 31, 2012 02:14
-
-
Save kalineh/3984408 to your computer and use it in GitHub Desktop.
VS2010 X64 compiler bug repro
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// Visual Studio 2010 | |
// X64 Compiler Bug | |
// | |
struct IntProxy | |
{ | |
static IntProxy MakeIntProxy(int rhs) | |
{ | |
IntProxy result; | |
result.m_value = rhs; | |
return result; | |
} | |
// doesn't crash with const int param | |
//IntProxy inc(const int) | |
IntProxy inc(int) | |
{ | |
// 000000013FAA1040 inc dword ptr [rcx] | |
// 000000013FAA1042 mov eax,dword ptr [rcx] | |
m_value++; | |
// 000000013F8D1044 dec eax | |
// CRASH HERE: rdx is never given a valid address | |
// 000000013F8D1046 mov dword ptr [rdx],eax | |
IntProxy result = MakeIntProxy(m_value - 1); | |
// 000000013FAA104B ret | |
return result; | |
} | |
int m_value; | |
}; | |
// 000000013F761050 sub rsp,28h | |
int main(int argc, char** argv) | |
{ | |
// 000000013F761054 lea rcx,[proxy] | |
IntProxy proxy; | |
// 000000013F761059 mov edx,0Ah | |
// 000000013F76105E call IntProxy::inc (13F76100Fh) | |
proxy.inc(10); | |
return 0; | |
} | |
/* | |
Microsoft Visual Studio 2010 | |
Version 10.0.40219.1 SP1Rel | |
Microsoft .NET Framework | |
Version 4.0.30319 SP1Rel | |
Installed Version: Professional | |
DPack 3.0.15 | |
DPack for Visual Studio | |
Copyright © 2004-2011 USysWare, Inc. | |
For more information, visit http://www.usysware.com/dpack/ or contact us at [email protected] | |
Hotfix for Microsoft Visual Studio 2010 Professional - 日本語 (KB2542054) KB2542054 | |
This hotfix is for Microsoft Visual Studio 2010 Professional - 日本語. | |
If you later install a more recent service pack, this hotfix will be uninstalled automatically. | |
For more information, visit http://support.microsoft.com/kb/2542054. | |
MetalMargin 1.0 | |
Scrollbar replacement with code thumbnail, change tracking, cursor position, and word match highlighting | |
Microsoft Visual Studio 2010 Professional - 日本語 (KB2522890) 用の修正プログラム KB2522890 | |
この修正プログラムは Microsoft Visual Studio 2010 Professional - 日本語 用です。 | |
より新しいサービス パックを後でインストールすると、この修正プログラムは自動的にアンインストールされます。 | |
詳細については、http://support.microsoft.com/kb/2522890 を参照してください。 | |
Microsoft Visual Studio 2010 Professional - 日本語 (KB2529927) 用の修正プログラム KB2529927 | |
この修正プログラムは Microsoft Visual Studio 2010 Professional - 日本語 用です。 | |
より新しいサービス パックを後でインストールすると、この修正プログラムは自動的にアンインストールされます。 | |
詳細については、http://support.microsoft.com/kb/2529927 を参照してください。 | |
Microsoft Visual Studio 2010 Professional - 日本語 (KB2548139) 用の修正プログラム KB2548139 | |
この修正プログラムは Microsoft Visual Studio 2010 Professional - 日本語 用です。 | |
より新しいサービス パックを後でインストールすると、この修正プログラムは自動的にアンインストールされます。 | |
詳細については、http://support.microsoft.com/kb/2548139 を参照してください。 | |
Microsoft Visual Studio 2010 Professional - 日本語 (KB2549864) 用の修正プログラム KB2549864 | |
この修正プログラムは Microsoft Visual Studio 2010 Professional - 日本語 用です。 | |
より新しいサービス パックを後でインストールすると、この修正プログラムは自動的にアンインストールされます。 | |
詳細については、http://support.microsoft.com/kb/2549864 を参照してください。 | |
Microsoft Visual Studio 2010 Professional - 日本語 (KB2635973) 用の修正プログラム KB2635973 | |
この修正プログラムは Microsoft Visual Studio 2010 Professional - 日本語 用です。 | |
より新しいサービス パックを後でインストールすると、この修正プログラムは自動的にアンインストールされます。 | |
詳細については、http://support.microsoft.com/kb/2635973 を参照してください。 | |
Microsoft Visual Studio 2010 Professional - 日本語 (KB2645410) 用のセキュリティ更新プログラム KB2645410 | |
このセキュリティ更新プログラムは Microsoft Visual Studio 2010 Professional - 日本語 用です。 | |
より新しいサービス パックを後でインストールすると、このセキュリティ更新プログラムは自動的にアンインストールされます。 | |
詳細については、http://support.microsoft.com/kb/2645410 を参照してください。 | |
Microsoft Visual Studio 2010 Professional - 日本語 Service Pack 1 (KB983509) KB983509 | |
このサービス パックは Microsoft Visual Studio 2010 Professional - 日本語 用です。 | |
より新しいサービス パックを後でインストールすると、このサービス パックは自動的にアンインストールされます。 | |
詳細については、http://support.microsoft.com/kb/983509 を参照してください。 | |
Microsoft Visual Studio 2010 SharePoint Developer Tools 10.0.40219 | |
Microsoft Visual Studio 2010 SharePoint Developer Tools | |
ViEmu (Symnum Systems S.L.U.) 3.0.8 | |
ViEmu: Vi/vim emulation for Microsoft Visual Studio. (c) 2005-2012 Symnum Systems S.L.U. Please visit http://www.viemu.com for details. | |
VSStreamliner 1.0 | |
Visual Studio Streamliner aims to streamline your usage of Visual Studio, removing unnecessary burdens that limit your productivity. | |
ClangVSx | |
Compiler bridge for Clang in Visual Studio | |
By Harry Denholm, 2012 | |
http://www.ishani.org/ | |
http://clang.llvm.org/ | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment