Closed
Bug 1095125
Opened 11 years ago
Closed 2 years ago
stlport doesn't support modern C++ features
Categories
(Core :: General, defect)
Core
General
Tracking
()
RESOLVED
FIXED
People
(Reporter: froydnj, Unassigned)
References
Details
Over in bug 1092010, I had to write some obtuse code to make things perform the same on all platforms because stlport doesn't really support rvalue refs. Admittedly, this was only for an uplift patch, but there's also been various amounts of grousing that we can't use shiny new STL features because of stlport. And if people wittingly or unwittingly use STL with moves and other things, we are going to have weird performance cliffs when stlport is used. (Admittedly, we'd probably have the performance cliffs on Mac, where we still use libstdc++ old.ancient, but that's a discussion for another bug.)
glandium suggested (in the context of other things) writing our own STL implementation; perhaps he meant cribbing from someplace else, as well. Alternatively, we could fork our own internal version of stlport and start adding the necessary features in judicious places. Or upgrade? Not sure what the concerns are here.
I'm sure there are some people who will just say "use libc++" everywhere, especially if/when clang becomes a viable compiler on windows.
Comment 1•11 years ago
|
||
libc++ will have the problem that it's specifically written to be standard compliant, which means it throws exceptions, which is one of the problems we have with the STL. That said, maybe it has the right knobs in the headers to avoid exceptions when compiling without exceptions. libstdc++ kind of has, but afaik, things are still not ideal.
Comment 2•11 years ago
|
||
> I'm sure there are some people who will just say "use libc++" everywhere,
> especially if/when clang becomes a viable compiler on windows.
Those people have never written memory reporters that require accurate accounting of how much memory a data structure is using.
Comment 3•11 years ago
|
||
Chromium is working on moving from STLPort to libc++.
See https://code.google.com/p/chromium/issues/detail?id=427718.
STLPort is the worst part of writing C++ code in Gecko right now, mostly because its limitations mean one has to use MFBT or XPCOM stuff instead of standard stuff. This causes problems for people (like me) who want to write code without Mozilla-isms so that non-Mozilla projects can use it.
(In reply to Nicholas Nethercote [:njn] from comment #2)
> > I'm sure there are some people who will just say "use libc++" everywhere,
> > especially if/when clang becomes a viable compiler on windows.
>
> Those people have never written memory reporters that require accurate
> accounting of how much memory a data structure is using.
This seems like a feature that libc++ developers would consider facilitating (accepting patches for).
Updated•3 years ago
|
Severity: normal → S3
Comment 4•2 years ago
|
||
STLPort needs to be completely replaced. It's probably done already.
Comment 5•2 years ago
|
||
We switched to libc++ in bug 1273934, and removed support for stlport completely in bug 1301076.
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•