diff options
author | Robert Maynard <robert.maynard@kitware.com> | 2020-09-10 17:21:07 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2020-09-10 20:15:55 (GMT) |
commit | 8de145cae18a8c368ffce60c511d6f6424c55aa2 (patch) | |
tree | 8dc8edb70a2e53e7f1096f28e8fcbe66e7cd2ce9 /Tests/ISPC/DynamicLibrary/main.cxx | |
parent | a83521e082f11fd08027e0f440408914bd83a5eb (diff) | |
download | CMake-8de145cae18a8c368ffce60c511d6f6424c55aa2.zip CMake-8de145cae18a8c368ffce60c511d6f6424c55aa2.tar.gz CMake-8de145cae18a8c368ffce60c511d6f6424c55aa2.tar.bz2 |
ISPC: DynamicLibrary test now passes on windows.
The MSVC linker needs to know what MSVC runtime a shared library
needs. ISPC objects don't have a '/DIRECTIVE' entry for the
MSVC runtime as they have no dependency on it. Therefore
we need to add a C or C++ source to each shared library so
the MSVC linker knows what runtime to embed
Diffstat (limited to 'Tests/ISPC/DynamicLibrary/main.cxx')
-rw-r--r-- | Tests/ISPC/DynamicLibrary/main.cxx | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/Tests/ISPC/DynamicLibrary/main.cxx b/Tests/ISPC/DynamicLibrary/main.cxx index 4f1c9be..f9072c7 100644 --- a/Tests/ISPC/DynamicLibrary/main.cxx +++ b/Tests/ISPC/DynamicLibrary/main.cxx @@ -1,15 +1,17 @@ -#include <stdio.h> -#include "simple.ispc.h" -int main() -{ - float vin[16], vout[16]; - for (int i = 0; i < 16; ++i) - vin[i] = i; +#ifdef _WIN32 +# define IMPORT __declspec(dllimport) +#else +# define IMPORT +#endif - ispc::simple(vin, vout, 16); +IMPORT int simple(); +int extra(); - for (int i = 0; i < 16; ++i) - printf("%d: simple(%f) = %f\n", i, vin[i], vout[i]); +int main() +{ + extra(); + simple(); + return 0; } |