The compiler choice should be performed using either gcc-config or CC and CXX variables in make.conf. Ebuilds must not provide random flags to switch it.
clang (like presumably also other non-GNU compilers) does not understand special GNU options, and there is no reliable test for them (it prints only warnings which become not even errors with -Werror). Thus, although it would compile, it makes not sense to even try to use these options on a non-gcc - it needs useless configure time and produces a non-reasonable log, and also ccache (if you use it) should be prepared to use a non-gcc (CCACHE_CPP2=true). Instead of relying on some stupid heuristics (e.g. by attempting to parse $CC --version) which perhaps some packages with similar problems do, I think it is better if eix' ./configure explicitly gets told whether you want to compile with gcc or not - therefore this USE-flag is needed.
@qa, what do you think?
I'd probably say that we don't support or care for clang at this moment.
But eix does support clang. So I guess the flag can be kept? Some months ago, there was an extra rekeyword phase of eix so that the clang flag could be masked for all architectures not supporting clang.
This still doesn't follow the usual Gentoo policies and the Gentoo philosophy. Like most of the ricing in eix. ccache nowadays supports clang. USE=clang is used to enable support for clang, and not switch the compiler. Switching is done through setting of CC and CXX. People are not expected to care about USE=clang when they compile something with clang. And as far as I understand, most of the 'GNU care' is about flags that are being riced down to the build process ignoring user's preferences.
Thanks for the reminder. I rechecked, and with current clang++ there is no need anymore for kludges: The clang++ return code now indicates failure as it should, and thus normal autotools mechanisms can be used without the need of the user passing options. So I think it is not reasonable any longer to support the ./configure option --with-nongnu-cxx: it makes no sense to "simplify" handling of old clang++ versions if this requires manual user interaction anyway (by passing configure options/USE-flags). The option (and then necessarily also --with-quickcheck) is removed in current eix master on BerliOS (>=eix-0.30.0).
Closing since USE=clang is removed since eix-0.30.0