aboutsummaryrefslogtreecommitdiff
path: root/libcxx/src/filesystem/path.cpp
diff options
context:
space:
mode:
authorNikolas Klauser <nikolasklauser@berlin.de>2024-11-13 11:57:16 +0100
committerGitHub <noreply@github.com>2024-11-13 11:57:16 +0100
commitb69ddbc62838f23ace237c206676b1ed1c882638 (patch)
treec61faf36c7d5022310899fe6bfe40b1f0460a046 /libcxx/src/filesystem/path.cpp
parent889b3c9487d114b9d082e9552599c8a8a8ccc660 (diff)
downloadllvm-b69ddbc62838f23ace237c206676b1ed1c882638.zip
llvm-b69ddbc62838f23ace237c206676b1ed1c882638.tar.gz
llvm-b69ddbc62838f23ace237c206676b1ed1c882638.tar.bz2
[libc++] Make variables in templates inline (#115785)
The variables are all `constexpr`, which implies `inline`. Since they aren't `constexpr` in C++03 they're also not `inline` there. Because of that we define them out-of-line currently. Instead we can use the C++17 extension of `inline` variables, which results in the same weak definitions of the variables but without having all the boilerplate.
Diffstat (limited to 'libcxx/src/filesystem/path.cpp')
-rw-r--r--libcxx/src/filesystem/path.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/libcxx/src/filesystem/path.cpp b/libcxx/src/filesystem/path.cpp
index 5874244..9f7dc54 100644
--- a/libcxx/src/filesystem/path.cpp
+++ b/libcxx/src/filesystem/path.cpp
@@ -24,7 +24,10 @@ using parser::string_view_t;
// path definitions
///////////////////////////////////////////////////////////////////////////////
+_LIBCPP_DIAGNOSTIC_PUSH
+_LIBCPP_CLANG_DIAGNOSTIC_IGNORED("-Wdeprecated")
constexpr path::value_type path::preferred_separator;
+_LIBCPP_DIAGNOSTIC_POP
path& path::replace_extension(path const& replacement) {
path p = extension();