tr1/tuple is broken on darwin because tr1/tuple uses _T as a template argument and one of darwin's headers define it to be something. _T goes against libstdc++'s coding style also.
This is why almost all of the tr1/tuple tests fail on darwin.
Yes, sorry, I was not aware of this convention. I'm currently performing some general clean-up to the autogeneration of the tuple header and will at the same time fix this. It's been suggested that _T should be replaced with _Tp. I'm assuming this will be fine? Chris
Yes _Tp is fine.
Subject: Bug 18159 CVSROOT: /cvs/gcc Module name: gcc Changes by: bkoz@gcc.gnu.org 2004-10-28 21:18:56 Modified files: libstdc++-v3 : ChangeLog libstdc++-v3/include/tr1: tuple Log message: 2004-10-28 Chris Jefferson <chris@bubblescope.net> PR libstdc++/18159 * include/tr1/tuple: Fix, change formatting. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.2733&r2=1.2734 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/tr1/tuple.diff?cvsroot=gcc&r1=1.1&r2=1.2
Fixed.
Not fully fixed, _I is the one which is invalid usage also. The error I get: /Users/pinskia/src/local/gcc/objdir/powerpc-apple-darwin7.4.1/libstdc++-v3/include/tr1/tuple: 1548: error: expected `>' before numeric constant template<int _I, class _Tp1, class _Tp2>
Subject: Bug 18159 CVSROOT: /cvs/gcc Module name: gcc Changes by: bkoz@gcc.gnu.org 2004-11-01 17:53:24 Modified files: libstdc++-v3 : ChangeLog libstdc++-v3/include/tr1: tuple Log message: 2004-11-01 Chris Jefferson <chris@bubblescope.net> PR libstdc++/18159 * include/tr1/tuple (get(pair)): Change occurrences of _I to _Int. (get(const pair)): Likewise. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.2741&r2=1.2742 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/tr1/tuple.diff?cvsroot=gcc&r1=1.2&r2=1.3
Fixed for sure this time, thanks.