diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2016-03-30 14:38:37 +0200 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2016-03-30 14:38:37 +0200 |
commit | be35e7d22d2b9fb267e1189c41044668f51de151 (patch) | |
tree | d2c08609acbc2af93c84fc1f25d24bede7eba377 /ACE/tests/Compiler_Features_36_Test.cpp | |
parent | f3b132e791e59c69684f9779cca6f9cddcef655a (diff) | |
download | ATCD-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.cpp | 47 |
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 |