gcc 3.4.4 ded_typename test failure

I'm stumped as to why the following is happening with GCC 3.4.4 on the AmigaOS PPC platform with Boost 1.32.0: no_ded_typename_pass (passed) no_ded_typename_fail (failed) All the other config tests pass except for non_ded_typename_fail which always compiles. According to the Jamfile it should not compile. I'm using v1 of bjam if that makes any difference. Here is the contents of config_test.output for reference: GNU C++ version 3.4.4 (AmigaOS build 20050716) __cplusplus =1 __STDC__ =1 __GNUC__ =3 __GNUC_MINOR__ =4 __GNUG__ =3 __VERSION__ ="3.4.4 (AmigaOS build 20050716)" __CHAR_UNSIGNED__ =1 __REGISTER_PREFIX__ [no value] __USER_LABEL_PREFIX__ [no value] __EXCEPTIONS =1 __ELF__ =1 __powerpc__ =1 __STDC_HOSTED__ =1 ********************************************************************* GNU libstdc++ version 20050519 __GLIBCXX__ =20050519 _GLIBCXX_USE_LONG_LONG =1 _GLIBCXX_USE_C99_MATH =1 _GLIBCXX_HOSTED =1 _GLIBCXX_SJLJ_EXCEPTIONS =1 ********************************************************************* Detected Platform: AmigaOS Type char is unsigned Type wchar_t is signed byte order for type short =8 0 byte order for type int =24 16 8 0 byte order for type long =24 16 8 0 sizeof(wchar_t) =4 sizeof(short) =2 sizeof(int) =4 sizeof(long) =4 sizeof(size_t) =4 sizeof(ptrdiff_t) =4 sizeof(void*) =4 sizeof(void(*)(void)) =4 sizeof(float) =4 sizeof(double) =8 sizeof(long double) =8 CHAR_BIT =8 CHAR_MAX =255 WCHAR_MAX =65535 SHRT_MAX =32767 INT_MAX =2147483647L LONG_MAX =2147483647L LLONG_MAX =0x7fffffffffffffffLL ULLONG_MAX =0xffffffffffffffffULL ********************************************************************* Boost version 103200 BOOST_USER_CONFIG =<boost/config/user.hpp> BOOST_COMPILER_CONFIG ="boost/config/compiler/gcc.hpp" BOOST_STDLIB_CONFIG ="boost/config/stdlib/libstdcpp3.hpp" BOOST_PLATFORM_CONFIG ="boost/config/platform/amigaos.hpp" BOOST_DEDUCED_TYPENAME =typename BOOST_DISABLE_THREADS [no value] BOOST_HAS_DIRENT_H [no value] BOOST_HAS_GETTIMEOFDAY [no value] BOOST_HAS_LONG_LONG [no value] BOOST_HAS_NRVO [no value] BOOST_HAS_PARTIAL_STD_ALLOCATOR [no value] BOOST_HAS_STDINT_H [no value] BOOST_HAS_UNISTD_H [no value] BOOST_MSVC6_MEMBER_TEMPLATES [no value] BOOST_NESTED_TEMPLATE =template BOOST_NO_CWCHAR [no value] BOOST_NO_CWCTYPE [no value] BOOST_NO_HASH [no value] BOOST_NO_INTRINSIC_WCHAR_T [no value] BOOST_NO_MS_INT64_NUMERIC_LIMITS [no value] BOOST_NO_SLIST [no value] BOOST_NO_STD_WSTREAMBUF [no value] BOOST_NO_STD_WSTRING [no value] BOOST_NO_SWPRINTF [no value] BOOST_STD_EXTENSION_NAMESPACE =std BOOST_UNREACHABLE_RETURN(0) [no value] Any ideas? --Steven Solie

I'm stumped as to why the following is happening with GCC 3.4.4 on the AmigaOS PPC platform with Boost 1.32.0: no_ded_typename_pass (passed) no_ded_typename_fail (failed)
It's a SNAFU in the testing setup (our fault not yours) the problem is that BOOST_DEDUCED_TYPENAME doesn't fit into the testing framework very well: Most macros are either defined or not, and this is what the testing framework assumes, but this one is either defined to nothing or defined to "typename", so it confuses the framework. I guess I should really remove this from the framework and devise a special test case just for this macro (if that's possible). HTH, John.
participants (2)
-
John Maddock
-
Steven Solie