summaryrefslogtreecommitdiff
path: root/Modules/CMakeCXXCompilerABI.cpp
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-01-21 18:30:17 -0500
committerBrad King <brad.king@kitware.com>2008-01-21 18:30:17 -0500
commita28b197b11f4b647c67a6914c731077972449343 (patch)
tree48e3cad97678cc49ef2b63c210d4e712a4dc58fa /Modules/CMakeCXXCompilerABI.cpp
parent19d22f6105ae064378e9175bed6a01b197e2eb5d (diff)
downloadcmake-a28b197b11f4b647c67a6914c731077972449343.tar.gz
ENH: Generalize the check for sizeof void* to detect more ABI information.
Diffstat (limited to 'Modules/CMakeCXXCompilerABI.cpp')
-rw-r--r--Modules/CMakeCXXCompilerABI.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/Modules/CMakeCXXCompilerABI.cpp b/Modules/CMakeCXXCompilerABI.cpp
new file mode 100644
index 0000000000..7fb3618870
--- /dev/null
+++ b/Modules/CMakeCXXCompilerABI.cpp
@@ -0,0 +1,24 @@
+#ifndef __cplusplus
+# error "A C compiler has been selected for C++."
+#endif
+
+/*--------------------------------------------------------------------------*/
+
+#include "CMakeCompilerABI.h"
+
+/*--------------------------------------------------------------------------*/
+
+/* Make sure the information strings are referenced. */
+#define REQUIRE(x) (&x[0] != &require)
+
+int main()
+{
+ const char require = 0;
+ return
+ (
+ REQUIRE(info_sizeof_dptr)
+#if defined(ABI_ID)
+ && REQUIRE(info_abi)
+#endif
+ );
+}