GCC4 seems to be rather picky on anonymous enums, and some code seems to break in logic/tribool.hpp with the following error: boost/logic/tribool.hpp: In member function `boost::logic::tribool::operator void (boost::logic::tribool::dummy::*)()() const': boost/boost/logic/tribool.hpp:114: error: `boost::logic::tribool::<anonymous enum>' is/uses anonymous type boost/boost/logic/tribool.hpp:114: error: trying to instantiate `template<class T> struct boost::is_integral' boost/boost/logic/tribool.hpp:114: error: `boost::logic::tribool::<anonymous enum>' is/uses anonymous type boost/boost/logic/tribool.hpp:114: error: trying to instantiate `template<class T> struct boost::is_integral' Same error is repeated at lines 128, 161, and 162 (CVS HEAD). Workaround/patch is obvious (making the enum named), but I haven't managed to create a minimal test-case for the behaviour (the triggering code is rather large and there doesn't seem to be any logic in what actually triggers the error). Any ideas? Alo Sarv