Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

STLport roadmap

Help
2012-03-10
2013-05-13
  • Dima Sorkin
    Dima Sorkin
    2012-03-10

    Hi.

    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?

    Thanks,
      Dima.

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

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

     
  • Dima Sorkin
    Dima Sorkin
    2012-03-11

    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 = {};
    
     _STLP_END_NAMESPACE
    +#else /* _STLP_NULLPTR */
    +_STLP_BEGIN_NAMESPACE
    +typedef decltype(nullptr) nullptr_t;
    +_STLP_END_NAMESPACE
     #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?

    Thanks,
      Dima.

     
  • Dima Sorkin
    Dima Sorkin
    2012-03-11

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

    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.