This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Yeah!The compiler only complains about the use of variadic templates outside system headers, so we're free to use variadic templates in libstdc++; no #ifdef necessary.
In my opinion, and consistently with my personal "philosophical" point of view on TR1 features, already well known to the libstdc++ list, I don't think such complexities are necessary: only a note in the relevant (4.3, I hope ;) release notes, mentioning the ABI breakage caused, as a minor negative fall out, by the new up to date variadic templates-based implementation, will be more than enough.However, variadic templates will change the ABI of the TR1 facilities that use them. For example, instead of mangling "tuple<int, float>" as "tuple<int, float, _NullClass, _NullClass, _NullClass, _NullClass, _NullClass, _NullClass, _NullClass, _NullClass>" (which happens now), it will mangle as "tuple<int, float>." If this is a problem we'll either have to do what Benjamin suggests or (*shudder*) select between the variadic and non-variadic implementations based on __GXX_EXPERIMENTAL_CPP0X__.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |