STLport roadmap

  • Dima Sorkin
    Dima Sorkin


    1. Is STLport is still an active project ;)  ?

    2. The current GIT head of STLport does not compile (Debian, GCC 4.6.3).  The lines with error are lines containing 'decval' and 'TYPE&&' , i.e. for the best of my knowledge, features of recent C++11 standard. Does this mean that STLport is already on C++11, but GCC is still not there; or the opposite - GIT STLport does not compile because it is just in such a state? Which compilers can currently compile GIT-STLport? Is work is done to make GIT version of STLport alive?


  • 1. If you expect answer, avoid provocations, pls.

    2. -std=gnu++0x or -std=c++0x is you friend.

  • Dima Sorkin
    Dima Sorkin

    Well, there are still many problems compiling. My compilation failed due to the fact that nullptr_t is not a built in type on GCC4.6, but rather requires <cstddef>. From the standard draft it sounds that it should have been a built in type, and I don't know what other compilers do.

    I've added

    diff --git a/stlport/cstddef b/stlport/cstddef
    index dbd79d3..4e80918 100644
    --- a/stlport/cstddef
    +++ b/stlport/cstddef
    @@ -99,6 +99,10 @@ bool operator !=( const nullptr_t&, T C::*pmf )
     /* extern */ const nullptr_t nullptr = {};
    +#else /* _STLP_NULLPTR */
    +typedef decltype(nullptr) nullptr_t;
     #endif /* _STLP_NULLPTR */
     #if (_STLP_OUTERMOST_HEADER_ID == 0x114 )

    There are many errors to continue looking at.

    Are you working on advancing the compilation, or it compiles for you as is somehow?


  • Dima Sorkin
    Dima Sorkin

    Actually, C++0x explicitly says that nullptr_t is defined in <cstddef>.

    nullptr_t is defined as follows:

    namespace std {
    typedef decltype(nullptr) nullptr_t;

    The above fix is thus right.

  • master is compiled fine with gcc 4.5.2 (expected with any gcc 4.5.x) and (now) with gcc 4.6.3 (expected with any gcc 4.6.x) on Linux.

  • Addition: only release and dbg modes; stldbg mode is broken for any compiler now.