Move filesystem to std for C++17
Ed Smith-Rowland
3dw4rd@verizon.net
Fri Mar 11 16:21:00 GMT 2016
All,
I first want to apologize for the tone of my last message regarding
moving filesystem to std for C++17.
I was being a dick. I didn't mean to disparage the efforts of the
committee or any of the maintainers here (especially Jonathan).
I also greatly appreciate the support this community gives me.
Anyway, I decided to take a look myself and discovered there are some
issues worth talking about first.
1. We need to support experimental/filesystem for C++14 and lower, and
without complaint, so as not to break code.
2. We need to support experimental/filesystem for C++17 and up but I
think we should warn.
a. Deprecate std::experimental::filesystem for c++17 and up.
b. We have the ability to add [[deprecated]] to a namespace but i'm
not sure the deprecation mechinism is wired to actually do the thing
with ns.
c. I think this:
namespace std::experimental::filesystem::v1
{
using namespace std::filesystem;
}}}}
d. I'm not sure what happens when v2 rolls around. Deal with it later.
3. Move <filesystem> to std. New <experimental/filesystem> points to
<filesystem>.
4. I think we should move the entrails of filesystem from
experimental/bits up to bits.
a. Should we make bits/filesystem, bits/specfun, ...? It might be
easier to look at. Drop prefixes for impl sources.
b. I forgot.
5. Testsuite
a. A lot of components are moving to std from experimental.
b. It seems bad to duplicate testsuite
c. Move the main testsuite from experimetal to an appropriate place in
5. The library... Hmm...
I'm willing to give this a bash after I make sure our specfuns are
really good for gcc6/C++17.
This isn't horrible - mostly rough carpentry but it might not be stage3
either.
Regards,
Ed Smith-Rowland
More information about the Libstdc++
mailing list