[Edward Diener]
The problem from clang's perspective is that they must emulate this "feature" <g> to compile Boost type_traits. Their developers feel that Boost type_traits should not depend on this feature, ie. should not specify any VC++ calling conventions for varargs function or function template declarations.
I agree with clang's devs (because that's what VC's
What I mean is that in VC++ the declarations are redundant, being the same template redeclared.
Right. So if you want to absorb all old-style varargs, you need only one overload/specialization.
In this case clang either has to change to be like VC++
Oh, I thought clang was attempting to be VC-compatible here (like our copy of EDG for Intellisense does).
If clang is supposed to be VC-compatible, then they should treat varargs with calling conventions like VC does, and Boost should do what VC