* include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
operator~ operator&=, operator|=, operator^=): Add noexcept to
overloaded operators for copy_options, perms and directory_options.
* src/filesystem/ops.cc (make_file_type, make_file_status,
is_not_found_errno, file_time): Add noexcept.
From-SVN: r235214
+2016-04-19 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
+ operator~ operator&=, operator|=, operator^=): Add noexcept to
+ overloaded operators for copy_options, perms and directory_options.
+ * src/filesystem/ops.cc (make_file_type, make_file_status,
+ is_not_found_errno, file_time): Add noexcept.
+
2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/bits/c++14_warning.h: Do not refer C++14 as experimental.
2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
* include/bits/c++14_warning.h: Do not refer C++14 as experimental.
};
constexpr copy_options
};
constexpr copy_options
- operator&(copy_options __x, copy_options __y)
+ operator&(copy_options __x, copy_options __y) noexcept
{
using __utype = typename std::underlying_type<copy_options>::type;
return static_cast<copy_options>(
{
using __utype = typename std::underlying_type<copy_options>::type;
return static_cast<copy_options>(
- operator|(copy_options __x, copy_options __y)
+ operator|(copy_options __x, copy_options __y) noexcept
{
using __utype = typename std::underlying_type<copy_options>::type;
return static_cast<copy_options>(
{
using __utype = typename std::underlying_type<copy_options>::type;
return static_cast<copy_options>(
- operator^(copy_options __x, copy_options __y)
+ operator^(copy_options __x, copy_options __y) noexcept
{
using __utype = typename std::underlying_type<copy_options>::type;
return static_cast<copy_options>(
{
using __utype = typename std::underlying_type<copy_options>::type;
return static_cast<copy_options>(
- operator~(copy_options __x)
+ operator~(copy_options __x) noexcept
{
using __utype = typename std::underlying_type<copy_options>::type;
return static_cast<copy_options>(~static_cast<__utype>(__x));
}
inline copy_options&
{
using __utype = typename std::underlying_type<copy_options>::type;
return static_cast<copy_options>(~static_cast<__utype>(__x));
}
inline copy_options&
- operator&=(copy_options& __x, copy_options __y)
+ operator&=(copy_options& __x, copy_options __y) noexcept
{ return __x = __x & __y; }
inline copy_options&
{ return __x = __x & __y; }
inline copy_options&
- operator|=(copy_options& __x, copy_options __y)
+ operator|=(copy_options& __x, copy_options __y) noexcept
{ return __x = __x | __y; }
inline copy_options&
{ return __x = __x | __y; }
inline copy_options&
- operator^=(copy_options& __x, copy_options __y)
+ operator^=(copy_options& __x, copy_options __y) noexcept
{ return __x = __x ^ __y; }
{ return __x = __x ^ __y; }
- operator&(perms __x, perms __y)
+ operator&(perms __x, perms __y) noexcept
{
using __utype = typename std::underlying_type<perms>::type;
return static_cast<perms>(
{
using __utype = typename std::underlying_type<perms>::type;
return static_cast<perms>(
- operator|(perms __x, perms __y)
+ operator|(perms __x, perms __y) noexcept
{
using __utype = typename std::underlying_type<perms>::type;
return static_cast<perms>(
{
using __utype = typename std::underlying_type<perms>::type;
return static_cast<perms>(
- operator^(perms __x, perms __y)
+ operator^(perms __x, perms __y) noexcept
{
using __utype = typename std::underlying_type<perms>::type;
return static_cast<perms>(
{
using __utype = typename std::underlying_type<perms>::type;
return static_cast<perms>(
+ operator~(perms __x) noexcept
{
using __utype = typename std::underlying_type<perms>::type;
return static_cast<perms>(~static_cast<__utype>(__x));
}
inline perms&
{
using __utype = typename std::underlying_type<perms>::type;
return static_cast<perms>(~static_cast<__utype>(__x));
}
inline perms&
- operator&=(perms& __x, perms __y)
+ operator&=(perms& __x, perms __y) noexcept
{ return __x = __x & __y; }
inline perms&
{ return __x = __x & __y; }
inline perms&
- operator|=(perms& __x, perms __y)
+ operator|=(perms& __x, perms __y) noexcept
{ return __x = __x | __y; }
inline perms&
{ return __x = __x | __y; }
inline perms&
- operator^=(perms& __x, perms __y)
+ operator^=(perms& __x, perms __y) noexcept
{ return __x = __x ^ __y; }
// Bitmask type
{ return __x = __x ^ __y; }
// Bitmask type
};
constexpr directory_options
};
constexpr directory_options
- operator&(directory_options __x, directory_options __y)
+ operator&(directory_options __x, directory_options __y) noexcept
{
using __utype = typename std::underlying_type<directory_options>::type;
return static_cast<directory_options>(
{
using __utype = typename std::underlying_type<directory_options>::type;
return static_cast<directory_options>(
}
constexpr directory_options
}
constexpr directory_options
- operator|(directory_options __x, directory_options __y)
+ operator|(directory_options __x, directory_options __y) noexcept
{
using __utype = typename std::underlying_type<directory_options>::type;
return static_cast<directory_options>(
{
using __utype = typename std::underlying_type<directory_options>::type;
return static_cast<directory_options>(
}
constexpr directory_options
}
constexpr directory_options
- operator^(directory_options __x, directory_options __y)
+ operator^(directory_options __x, directory_options __y) noexcept
{
using __utype = typename std::underlying_type<directory_options>::type;
return static_cast<directory_options>(
{
using __utype = typename std::underlying_type<directory_options>::type;
return static_cast<directory_options>(
}
constexpr directory_options
}
constexpr directory_options
- operator~(directory_options __x)
+ operator~(directory_options __x) noexcept
{
using __utype = typename std::underlying_type<directory_options>::type;
return static_cast<directory_options>(~static_cast<__utype>(__x));
}
inline directory_options&
{
using __utype = typename std::underlying_type<directory_options>::type;
return static_cast<directory_options>(~static_cast<__utype>(__x));
}
inline directory_options&
- operator&=(directory_options& __x, directory_options __y)
+ operator&=(directory_options& __x, directory_options __y) noexcept
{ return __x = __x & __y; }
inline directory_options&
{ return __x = __x & __y; }
inline directory_options&
- operator|=(directory_options& __x, directory_options __y)
+ operator|=(directory_options& __x, directory_options __y) noexcept
{ return __x = __x | __y; }
inline directory_options&
{ return __x = __x | __y; }
inline directory_options&
- operator^=(directory_options& __x, directory_options __y)
+ operator^=(directory_options& __x, directory_options __y) noexcept
{ return __x = __x ^ __y; }
typedef chrono::time_point<chrono::system_clock> file_time_type;
{ return __x = __x ^ __y; }
typedef chrono::time_point<chrono::system_clock> file_time_type;
typedef struct ::stat stat_type;
inline fs::file_type
typedef struct ::stat stat_type;
inline fs::file_type
- make_file_type(const stat_type& st)
+ make_file_type(const stat_type& st) noexcept
{
using fs::file_type;
#ifdef _GLIBCXX_HAVE_S_ISREG
{
using fs::file_type;
#ifdef _GLIBCXX_HAVE_S_ISREG
- make_file_status(const stat_type& st)
+ make_file_status(const stat_type& st) noexcept
{
return fs::file_status{
make_file_type(st),
{
return fs::file_status{
make_file_type(st),
- is_not_found_errno(int err)
+ is_not_found_errno(int err) noexcept
{
return err == ENOENT || err == ENOTDIR;
}
inline fs::file_time_type
{
return err == ENOENT || err == ENOTDIR;
}
inline fs::file_time_type
- file_time(const stat_type& st)
+ file_time(const stat_type& st) noexcept
{
using namespace std::chrono;
return fs::file_time_type{
{
using namespace std::chrono;
return fs::file_time_type{