The toolchain.eclass does: if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then IUSE+=" altivec cxx fortran nocxx" therefore sys-devel/kgcc64 doesn't have cxx or nocxx as IUSE. Then there's this sanity check in the eclass: # Sanity check for USE=nocxx -> USE=cxx migration if (use cxx && use nocxx) || (use !cxx && use !nocxx) ; then eerror "We are migrating USE=nocxx to USE=cxx, but your USE settings do not make" eerror "sense. Please make sure these two flags line up logically in your setup." die "USE='cxx nocxx' and USE='-cxx -nocxx' make no sense" fi Which will die on sys-devel/kgcc64
http://sources.gentoo.org/eclass/toolchain.eclass?r1=1.479&r2=1.480