diff options
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 |