------- Additional Comments From jakub at gcc dot gnu dot org 2005-09-02 13:05 ------- I can reproduce it on a (freshly updated) stock gcc-4_0-branch: ./cc1plus --version; ./cc1plus -quiet -m32 testcase.ii GNU C++ version 4.0.2 20050902 (prerelease) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.0.1 20050727 (Red Hat 4.0.1-5). GGC heuristics: --param ggc-min-expand=98 --param ggc-min-heapsize=127988 /usr/include/boost/detail/sp_counted_impl.hpp: In member function irtual void* boost::detail::sp_counted_impl_pd::get_deleter(const std::type_info&)': /usr/include/boost/detail/sp_counted_impl.hpp:147: error: pl_::bool_::value' is not a valid template argument for type ool' because it is a non-constant expression /usr/include/boost/detail/sp_counted_impl.hpp:147: error: pl_::bool_::value' is not a valid template argument for type ool' because it is a non-constant expression ../inc/layermanager.hxx: In member function oid presentation::internal::LayerManager::forEachShape(const Functor&) const': ../inc/layermanager.hxx:299: error: pl_::bool_::value' is not a valid template argument for type ool' because it is a non-constant expression ../inc/layermanager.hxx:299: error: pl_::bool_::value' is not a valid template argument for type ool' because it is a non-constant expression ../inc/layermanager.hxx: In member function oid presentation::internal::LayerManager::forEachShape(const Functor&)': ../inc/layermanager.hxx:333: error: pl_::bool_::value' is not a valid template argument for type ool' because it is a non-constant expression ../inc/layermanager.hxx:333: error: pl_::bool_::value' is not a valid template argument for type ool' because it is a non-constant expression FYI, gcc/cp/ of gcc-4_0-branch and gcc-4_0-rhl-branch is identical. If I revert http://gcc.gnu.org/ml/gcc-cvs/2005-08/msg00946.html (aka PR c++/23099 fix), the problem goes away. -- What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |UNCONFIRMED Resolution|INVALID | Summary|‘mpl_::bool_::value|`mpl_::bool_::value' |’ is not a valid template |is not a valid template |argument for type ‘bool’|argument for type `bool' |because it is a non-constant|because it is a non-constant |expression |expression http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23691