Quantcast
Channel: Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 1616

Compiler error in alloc_traits.h from GCC 4.9

$
0
0

Hey there,

ICC 14.0 fails to compile most of STL code as shipped by GCC 4.9:

$ cat test.cpp
#include <vector>
int main() { return 0; }


$ icpc -std=c++11 test.cpp
In file included from /usr/include/c++/4.9.0/ext/alloc_traits.h(36),
                 from /usr/include/c++/4.9.0/bits/stl_construct.h(61),
                 from /usr/include/c++/4.9.0/vector(62),
                 from test.cpp(1):
/usr/include/c++/4.9.0/bits/alloc_traits.h(248): error: expected a ">"
          = typename __construct_helper<_Tp, _Args...>::type;
                                                  ^
In file included from /usr/include/c++/4.9.0/ext/alloc_traits.h(36),
                 from /usr/include/c++/4.9.0/bits/stl_construct.h(61),
                 from /usr/include/c++/4.9.0/vector(62),
                 from test.cpp(1):
          detected during instantiation of type "std::allocator_traits<_Alloc>::__has_construct<_Tp, _Args...>" at line 251
In file included from /usr/include/c++/4.9.0/ext/alloc_traits.h(36),
                 from /usr/include/c++/4.9.0/bits/stl_construct.h(61),
                 from /usr/include/c++/4.9.0/vector(62),
                 from test.cpp(1):

In file included from /usr/include/c++/4.9.0/ext/alloc_traits.h(36),
                 from /usr/include/c++/4.9.0/bits/stl_construct.h(61),
                 from /usr/include/c++/4.9.0/vector(62),
                 from test.cpp(1):
/usr/include/c++/4.9.0/type_traits(115): error: not a class or struct name
      : public _B1
               ^
In file included from /usr/include/c++/4.9.0/ext/alloc_traits.h(36),
                 from /usr/include/c++/4.9.0/bits/stl_construct.h(61),
                 from /usr/include/c++/4.9.0/vector(62),
                 from test.cpp(1):
          detected during:
In file included from /usr/include/c++/4.9.0/ext/alloc_traits.h(36),
                 from /usr/include/c++/4.9.0/bits/stl_construct.h(61),
                 from /usr/include/c++/4.9.0/vector(62),
                 from test.cpp(1):
            instantiation of class "std::__and_<_B1> [with _B1=<error-type>]" at line 1907
In file included from /usr/include/c++/4.9.0/ext/alloc_traits.h(36),
                 from /usr/include/c++/4.9.0/bits/stl_construct.h(61),
                 from /usr/include/c++/4.9.0/vector(62),
                 from test.cpp(1):
            instantiation of type "std::_Require<<error-type>>" at line 251 of "/usr/include/c++/4.9.0/bits/alloc_traits.h"
In file included from /usr/include/c++/4.9.0/ext/alloc_traits.h(36),
                 from /usr/include/c++/4.9.0/bits/stl_construct.h(61),
                 from /usr/include/c++/4.9.0/vector(62),
                 from test.cpp(1):

In file included from /usr/include/c++/4.9.0/ext/alloc_traits.h(36),
                 from /usr/include/c++/4.9.0/bits/stl_construct.h(61),
                 from /usr/include/c++/4.9.0/vector(62),
                 from test.cpp(1):
/usr/include/c++/4.9.0/type_traits(1907): error: class "std::__and_<<error-type>>" has no member "value"
      using _Require = typename enable_if<__and_<_Cond...>::value>::type;
                                                            ^
In file included from /usr/include/c++/4.9.0/ext/alloc_traits.h(36),
                 from /usr/include/c++/4.9.0/bits/stl_construct.h(61),
                 from /usr/include/c++/4.9.0/vector(62),
                 from test.cpp(1):
          detected during instantiation of type "std::_Require<<error-type>>" at line 251 of "/usr/include/c++/4.9.0/bits/alloc_traits.h"
In file included from /usr/include/c++/4.9.0/ext/alloc_traits.h(36),
                 from /usr/include/c++/4.9.0/bits/stl_construct.h(61),
                 from /usr/include/c++/4.9.0/vector(62),
                 from test.cpp(1):

In file included from /usr/include/c++/4.9.0/ext/alloc_traits.h(36),
                 from /usr/include/c++/4.9.0/bits/stl_construct.h(61),
                 from /usr/include/c++/4.9.0/vector(62),
                 from test.cpp(1):
/usr/include/c++/4.9.0/type_traits(1907): error: class "std::enable_if<<error-constant>, void>" has no member "type"
      using _Require = typename enable_if<__and_<_Cond...>::value>::type;
                                                                    ^
In file included from /usr/include/c++/4.9.0/ext/alloc_traits.h(36),
                 from /usr/include/c++/4.9.0/bits/stl_construct.h(61),
                 from /usr/include/c++/4.9.0/vector(62),
                 from test.cpp(1):
          detected during instantiation of type "std::_Require<<error-type>>" at line 251 of "/usr/include/c++/4.9.0/bits/alloc_traits.h"
In file included from /usr/include/c++/4.9.0/ext/alloc_traits.h(36),
                 from /usr/include/c++/4.9.0/bits/stl_construct.h(61),
                 from /usr/include/c++/4.9.0/vector(62),
                 from test.cpp(1):

compilation aborted for test.cpp (code 2)

Will a new icpc be released to fix this?


Viewing all articles
Browse latest Browse all 1616

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>