http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55363



             Bug #: 55363

           Summary: tuple_size is not a class template

    Classification: Unclassified

           Product: gcc

           Version: 4.8.0

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: libstdc++

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: pl...@agmk.net





gcc configured with --enable-symvers=gnu-versioned-namespace doesn't build.





tested on git revision a4c4abc (svn trunk 193583).



(...)

libtool: compile:  /home/users/pluto/src/gcc.builddir/./gcc/xgcc -shared-libgcc

-B/home/users/pluto/src/gcc.builddir/./gcc -nostdinc++

-L/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/src

-L/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs

-B/opt/gcc48/x86_64-unknown-linux-gnu/bin/

-B/opt/gcc48/x86_64-unknown-linux-gnu/lib/ -isystem

/opt/gcc48/x86_64-unknown-linux-gnu/include -isystem

/opt/gcc48/x86_64-unknown-linux-gnu/sys-include

-I/home/users/pluto/src/gcc.git/libstdc++-v3/../libgcc

-I/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu

-I/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include

-I/home/users/pluto/src/gcc.git/libstdc++-v3/libsupc++ -std=gnu++11

-D_GLIBCXX_SHARED -fno-implicit-templates -Wall -Wextra -Wwrite-strings

-Wcast-qual -Wabi -fdiagnostics-show-location=once -ffunction-sections

-fdata-sections -frandom-seed=condition_variable.lo -O1 -gdwarf-4 -g1

-fno-debug-types-section -pipe -O1 -gdwarf-4 -g1 -fno-debug-types-section -pipe

-c /home/users/pluto/src/gcc.git/libstdc++-v3/src/c++11/condition_variable.cc 

-fPIC -DPIC -D_GLIBCXX_SHARED -o condition_variable.o

In file included from

/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include/tuple:39:0,

                 from

/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include/mutex:38,

                 from

/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include/condition_variable:39,

                 from

/home/users/pluto/src/gcc.git/libstdc++-v3/src/c++11/condition_variable.cc:25:

/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include/array:273:12:

error: 'tuple_size' is not a class template

     struct tuple_size<array<_Tp, _Nm>>

            ^

/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include/array:273:37:

error: redeclared with 2 template parameters

     struct tuple_size<array<_Tp, _Nm>>

                                     ^

/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include/array:270:11:

note: previous declaration 'template<class _Tp> class std::tuple_size' used 1

template parameter

     class tuple_size;

           ^

/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include/array:281:12:

error: 'tuple_element' is not a class template

     struct tuple_element<_Int, array<_Tp, _Nm>>

            ^

/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include/array:281:46:

error: redeclared with 3 template parameters

     struct tuple_element<_Int, array<_Tp, _Nm>>

                                              ^

/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include/array:278:11:

note: previous declaration 'template<long unsigned int _Int, class _Tp> class

std::tuple_element' used 2 template parameters

     class tuple_element;

           ^

In file included from

/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include/mutex:38:0,

                 from

/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include/condition_variable:39,

                 from

/home/users/pluto/src/gcc.git/libstdc++-v3/src/c++11/condition_variable.cc:25:

/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include/tuple:917:49:

error: template argument 2 is invalid

  typename std::tuple_element<_Idx, _Tuple>::type>, _Tuple, _Nm>::__type

                                                 ^

/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include/tuple:917:63:

error: template argument 2 is invalid

  typename std::tuple_element<_Idx, _Tuple>::type>, _Tuple, _Nm>::__type

                                                               ^

/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include/tuple:930:62:

error: template argument 4 is invalid

                                std::tuple_size<_Tuple>::value>

                                                              ^

/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include/tuple:986:51:

error: template argument 1 is invalid

  typename std::remove_reference<_Tp>::type>::value>::__type __type;

                                                   ^

/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include/tuple:986:52:

error: expected identifier before '::' token

  typename std::remove_reference<_Tp>::type>::value>::__type __type;

                                                    ^

/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include/tuple:986:54:

error: typedef name may not be a nested-name-specifier

  typename std::remove_reference<_Tp>::type>::value>::__type __type;

                                                      ^

/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include/tuple:986:54:

error: expected ';' at end of member declaration

/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/include/tuple:986:61:

error: '__type' does not name a type

  typename std::remove_reference<_Tp>::type>::value>::__type __type;

                                                             ^

make[5]: *** [condition_variable.lo] Error 1

make[5]: Leaving directory

`/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/src/c++11'

make[4]: *** [all-recursive] Error 1

make[4]: Leaving directory

`/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3/src'

make[3]: *** [all-recursive] Error 1

make[3]: Leaving directory

`/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3'

make[2]: *** [all] Error 2

make[2]: Leaving directory

`/home/users/pluto/src/gcc.builddir/x86_64-unknown-linux-gnu/libstdc++-v3'

make[1]: *** [all-target-libstdc++-v3] Error 2

make[1]: Leaving directory `/home/users/pluto/src/gcc.builddir'

make: *** [all] Error 2

Reply via email to