From 22f5095f313a7a4ed676ac22bb3fde16eb172a39 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Tue, 1 Dec 2015 11:33:17 +0000 Subject: [PATCH] Define path::_Cmpt after specializing path::__is_encoded_char * include/experimental/bits/fs_path.h (path::_Cmpt): Move definition after path::__is_encoded_char explicit specializations. From-SVN: r231107 --- libstdc++-v3/ChangeLog | 5 +++++ .../include/experimental/bits/fs_path.h | 20 +++++++++---------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 19aea8437d0..337a4e2a3e3 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2015-12-01 Jonathan Wakely + + * include/experimental/bits/fs_path.h (path::_Cmpt): Move definition + after __is_encoded_char explicit specializations. + 2015-11-26 Jonathan Wakely * testsuite/libstdc++-prettyprinters/debug.cc: Add -std=gnu++98 to diff --git a/libstdc++-v3/include/experimental/bits/fs_path.h b/libstdc++-v3/include/experimental/bits/fs_path.h index 40462a6ab19..98820ad29b1 100644 --- a/libstdc++-v3/include/experimental/bits/fs_path.h +++ b/libstdc++-v3/include/experimental/bits/fs_path.h @@ -549,16 +549,6 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 std::string _M_what = _M_gen_what(); }; - struct path::_Cmpt : path - { - _Cmpt(string_type __s, _Type __t, size_t __pos) - : path(std::move(__s), __t), _M_pos(__pos) { } - - _Cmpt() : _M_pos(-1) { } - - size_t _M_pos; - }; - template<> struct path::__is_encoded_char : std::true_type { using value_type = char; }; @@ -575,6 +565,16 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 struct path::__is_encoded_char : std::true_type { using value_type = char32_t; }; + struct path::_Cmpt : path + { + _Cmpt(string_type __s, _Type __t, size_t __pos) + : path(std::move(__s), __t), _M_pos(__pos) { } + + _Cmpt() : _M_pos(-1) { } + + size_t _M_pos; + }; + // specialize _Cvt for degenerate 'noconv' case template<> struct path::_Cvt -- 2.30.2