Boost logo

Boost :

From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2008-06-25 17:19:26


Markus Schöpflin wrote:
> Hello,
>
> currently any_test and doc_any_hook fail on Tru64/CXX with the following
> errors:
>
> cxx: Error: ../boost/intrusive/detail/any_node_and_algorithms.hpp, line
> 276: class template "boost::intrusive::any_algorithms<VoidPointer>" has
> no member "unlink_not_available_for_any_hooks"
> (notmember)
> any_algorithms<VoidPointer>::unlink_not_available_for_any_hooks();
> -----------------------------------^
> cxx: Error: ../boost/intrusive/detail/any_node_and_algorithms.hpp, line
> 283: class template "boost::intrusive::any_algorithms<VoidPointer>" has
> no member "swap_nodes_not_available_for_any_hooks"
> (notmember)
>
> any_algorithms<VoidPointer>::swap_nodes_not_available_for_any_hooks();
> -----------------------------------^
>
> AFAICT this is the only EDG based compiler which tests in strict Ansi
> mode, adding -strict_ansi to the other EDG based compilers (acc for
> example) would probably lead to the same error.
>
> Attached patch contains a proposed fix for this. It checks for __EDG__
> and __STD_STRICT_ANSI to enable the fix and works for me locally.
>
> The patch should replace the compile error by a link error, because in
> strict Ansi mode EDG doesn't allow you to refer to non-existing names.
>
> OK to apply?

Please, go ahead. I just want to get a compilation error when this
funcion is called, but with gcc 4.3 BOOST_STATIC_ASSERT((false)) is
instantiated even if the function is called (other compilers just are
fine). If this is changed to a linking error, is better than a run-time
error. If you have any idea for this, let me know.

Regards,

Ion


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk