
"K. Noel Belcourt" ha escrito:
On Nov 15, 2007, at 4:09 PM, JOAQUIN LOPEZ MU?Z wrote:
Hello, the errors shown at http://tinyurl.com/2ao9tf and other tests lead me to believe that IBM Visual Age v8.0 has a problem with using declarations at function scope and ADL, yet the macro BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL is not defined for this compiler.
I'd be grateful if someone with access to vacpp 8.0 (like the maintainer of Sandia-AIX regression tests) would:
1. Try libs/config/test/no_using_breaks_adl_pass.cpp.
Passes
2. If the latter passes, try the attached test fsudba.cpp, which exercises an alternative way in which using declarations at function scope can break ADL.
Here's the output of :
xlC fsudba.cpp
"fsudba.cpp", line 11.28: 1540-0256 (S) A parameter of type "foo<int> &" cannot be initialized with an expression of type "int". "fsudba.cpp", line 11.28: 1540-1205 (I) The error occurred while converting to parameter 1 of "foo<int>::swap(foo<int> &)". "fsudba.cpp", line 8.14: 1540-0700 (I) The previous message was produced while processing "foo<int>::swap(foo<int> &)". "fsudba.cpp", line 24.8: 1540-0700 (I) The previous message was produced while processing "main()".
Bingo :) John, do you think then that BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL should be defined for __IBMCPP__<=800? Also, if you think it's appropriate I can add the test above to libs/config/test/boost_no_using_breaks_adl.ipp. Joaquín M López Muñoz Telefónica, Investigación y Desarrollo