[PATCH] Fix for Bug 5053

Reid Kleckner rnk at google.com
Thu Oct 2 10:57:13 PDT 2014


Your test case already passes for me. Can you elaborate on when this fails and in what environment, i.e. VS version, LLVM version, MCJIT vs interpreter, etc?

================
Comment at: lib/Support/Windows/DynamicLibrary.inc:138
@@ -121,1 +137,3 @@
 #undef EXPLICIT_SYMBOL2
+#undef INLINE_DEF_SYMBOL
+#undef INLINE_DEF_SYMBOL2
----------------
This should either be SYMBOL1 or the define should drop the trailing 1.

================
Comment at: lib/Support/Windows/explicit_symbols.inc:74
@@ +73,3 @@
+  INLINE_DEF_FLOAT_VERSION(ceil, 1)
+  INLINE_DEF_FLOAT_VERSION(copysign, 2)
+  INLINE_DEF_FLOAT_VERSION(cos, 1)
----------------
What version of VS are you testing with? I don't believe this will compile on VS 2012, because it only has _copysign. See the 2012 MSDN docs vs the 2013 docs:
http://msdn.microsoft.com/en-us/library/0yafk1hc(v=vs.110).aspx
http://msdn.microsoft.com/en-us/library/0yafk1hc(v=vs.120).aspx

Furthermore, with VS2013, I think we can simply use the EXPLICIT_SYMBOL mechanism instead of a new approach.

================
Comment at: test/CodeGen/X86/win_frem.ll:1
@@ +1,2 @@
+; This unit test tests LLI.exe crashes on Windows\X86 when certain single precession 
+; floating point intrinsics are used
----------------
With the fix committed, this should be "used to crash" instead of "crashes".

Also, this test is an execution test that belongs in test/ExecutionEngine instead of test/CodeGen/X86.

http://reviews.llvm.org/D5387






More information about the llvm-commits mailing list