summaryrefslogtreecommitdiffstats
path: root/Tests/Complex
diff options
context:
space:
mode:
authorKen Martin <ken.martin@kitware.com>2003-01-16 20:47:04 (GMT)
committerKen Martin <ken.martin@kitware.com>2003-01-16 20:47:04 (GMT)
commitfedf21722ad2b7c2a9c8d51dba1bb16a3f0080ca (patch)
tree448a5a334b2f9801a395d7c73457c5ce9d05ec30 /Tests/Complex
parent51acf333cc119443d299773e4c28048df176b55b (diff)
downloadCMake-fedf21722ad2b7c2a9c8d51dba1bb16a3f0080ca.zip
CMake-fedf21722ad2b7c2a9c8d51dba1bb16a3f0080ca.tar.gz
CMake-fedf21722ad2b7c2a9c8d51dba1bb16a3f0080ca.tar.bz2
ENH: fix for compilers that need _
Diffstat (limited to 'Tests/Complex')
-rw-r--r--Tests/Complex/Executable/complex.cxx23
1 files changed, 16 insertions, 7 deletions
diff --git a/Tests/Complex/Executable/complex.cxx b/Tests/Complex/Executable/complex.cxx
index 97e382a..49b439f 100644
--- a/Tests/Complex/Executable/complex.cxx
+++ b/Tests/Complex/Executable/complex.cxx
@@ -112,7 +112,6 @@ int main()
lib += cmDynamicLoader::LibPrefix();
lib += "CMakeTestModule";
lib += cmDynamicLoader::LibExtension();
-
cmLibHandle handle = cmDynamicLoader::OpenLibrary(lib.c_str());
if(!handle)
{
@@ -121,17 +120,27 @@ int main()
else
{
cmDynamicLoaderFunction fun =
- cmDynamicLoader::GetSymbolAddress(handle, "ModuleFunction");
+ cmDynamicLoader::GetSymbolAddress(handle, "ModuleFunction");
+ if(!fun)
+ {
+ fun = cmDynamicLoader::GetSymbolAddress(handle, "_ModuleFunction");
+ }
typedef int (*TEST_FUNCTION)();
TEST_FUNCTION testFun = (TEST_FUNCTION)fun;
- int ret = (*testFun)();
- if(!ret)
+ if(!testFun)
{
- cmFailed("ModuleFunction called from module did not return valid return");
+ cmFailed("Could not find symbol ModuleFunction in library ");
+ }
+ else
+ {
+ int ret = (*testFun)();
+ if(!ret)
+ {
+ cmFailed("ModuleFunction call did not return valid return.");
+ }
+ cmPassed("Module loaded and ModuleFunction called correctly.");
}
- cmPassed("Module loaded and ModuleFunction called correctly");
}
-
if(sharedFunction() != 1)
{
cmFailed("Call to sharedFunction from shared library failed.");