summaryrefslogtreecommitdiff
path: root/ACE/tests/Compiler_Features_36_Test.cpp
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2016-03-30 14:38:37 +0200
committerJohnny Willemsen <jwillemsen@remedy.nl>2016-03-30 14:38:37 +0200
commitbe35e7d22d2b9fb267e1189c41044668f51de151 (patch)
treed2c08609acbc2af93c84fc1f25d24bede7eba377 /ACE/tests/Compiler_Features_36_Test.cpp
parentf3b132e791e59c69684f9779cca6f9cddcef655a (diff)
downloadATCD-be35e7d22d2b9fb267e1189c41044668f51de151.tar.gz
Added C++11 test for using incomplete types and std::is_base_of
* ACE/tests/Compiler_Features_36_Test.cpp: Added. * ACE/tests/run_test.lst: * ACE/tests/tests.mpc:
Diffstat (limited to 'ACE/tests/Compiler_Features_36_Test.cpp')
-rw-r--r--ACE/tests/Compiler_Features_36_Test.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/ACE/tests/Compiler_Features_36_Test.cpp b/ACE/tests/Compiler_Features_36_Test.cpp
new file mode 100644
index 00000000000..7b9096e0bd4
--- /dev/null
+++ b/ACE/tests/Compiler_Features_36_Test.cpp
@@ -0,0 +1,47 @@
+/**
+ * This program checks if the compiler doesn't have a certain bug
+ * that we encountered when testing C++11 features
+ */
+
+#include "test_config.h"
+
+#if defined (ACE_HAS_CPP11)
+
+#include <type_traits>
+
+template <typename T>
+struct non_instantiatable
+{
+ typedef typename T::THIS_TYPE_CANNOT_BE_INSTANTIATED type;
+};
+
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT("Compiler_Features_36_Test"));
+
+ bool const result = std::is_base_of<non_instantiatable<int>, void>::value;
+ ACE_UNUSED_ARG (result);
+
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("C++11 support ok\n")));
+
+ ACE_END_TEST;
+
+ return 0;
+}
+
+#else
+int
+run_main (int, ACE_TCHAR *[])
+{
+ ACE_START_TEST (ACE_TEXT("Compiler_Features_36_Test"));
+
+ ACE_DEBUG ((LM_INFO,
+ ACE_TEXT ("No C++11 support enabled\n")));
+
+ ACE_END_TEST;
+ return 0;
+}
+
+#endif