summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/AutoExportDll/say.cxx
diff options
context:
space:
mode:
authorZsolt Parragi <zsolt.parragi@cancellar.hu>2017-02-24 09:06:43 (GMT)
committerBrad King <brad.king@kitware.com>2017-02-28 14:49:12 (GMT)
commit85e08370d0774397f42a7d45d07f22b3a817fe10 (patch)
tree65eaf7954bcbb864c1bbe3076294561b0832e7cf /Tests/RunCMake/AutoExportDll/say.cxx
parent78104bd7bca4bd9b4b7a5c17622838a33843138e (diff)
downloadCMake-85e08370d0774397f42a7d45d07f22b3a817fe10.zip
CMake-85e08370d0774397f42a7d45d07f22b3a817fe10.tar.gz
CMake-85e08370d0774397f42a7d45d07f22b3a817fe10.tar.bz2
bindexplib: Always export executable symbols, even they are also readable
Previously bindexplib discarded read-only non-function symbols even in executable/code sections, but in some specific cases they could still mark functions. An example is provided by nop.asm in the AuoExportDll test, which exports a function only marked by a label. This symbol can be used from C/C++ code, but without this change it would result in an unresolved external symbol when built as a DLL on Windows.
Diffstat (limited to 'Tests/RunCMake/AutoExportDll/say.cxx')
-rw-r--r--Tests/RunCMake/AutoExportDll/say.cxx4
1 files changed, 4 insertions, 0 deletions
diff --git a/Tests/RunCMake/AutoExportDll/say.cxx b/Tests/RunCMake/AutoExportDll/say.cxx
index e966b1f..51060e8 100644
--- a/Tests/RunCMake/AutoExportDll/say.cxx
+++ b/Tests/RunCMake/AutoExportDll/say.cxx
@@ -12,6 +12,7 @@ int WINAPI foo();
// test regular C
int bar();
int objlib();
+void justnop();
}
// test c++ functions
@@ -42,5 +43,8 @@ int main()
bar();
objlib();
printf("\n");
+#ifdef HAS_JUSTNOP
+ justnop();
+#endif
return 0;
}