From f2571e13d671e6191d13d9babc9ff7cc18254c6c Mon Sep 17 00:00:00 2001 From: Gautam Kumar Date: Sun, 6 Apr 2025 12:10:48 +0530 Subject: [PATCH 1/2] Fix user-defined string literal operator clang-20 does not like the space between `""` and string literal suffix `_dump`. --- test/name/smoke.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/name/smoke.cpp b/test/name/smoke.cpp index c50594bf..fc315497 100644 --- a/test/name/smoke.cpp +++ b/test/name/smoke.cpp @@ -29,7 +29,7 @@ namespace { /**************************************************************************************************/ -inline std::ostream& operator"" _dump(const char* str, std::size_t n) { +inline std::ostream& operator""_dump(const char* str, std::size_t n) { return std::cout << "dump: {\n" << " str: '" << str << "'\n" << " n: " << n << '\n' From a3760c80e8cc999e3c5082468e30318a55217c3a Mon Sep 17 00:00:00 2001 From: Gautam Kumar Date: Sun, 6 Apr 2025 12:13:04 +0530 Subject: [PATCH 2/2] Update name.hpp clang-20 does not like the space between `""` and string literal suffix `_name`. --- adobe/name.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/adobe/name.hpp b/adobe/name.hpp index 62fea36a..978d7b90 100644 --- a/adobe/name.hpp +++ b/adobe/name.hpp @@ -98,7 +98,7 @@ namespace literals { /**************************************************************************************************/ -inline constexpr static_name_t operator"" _name(const char* str, std::size_t n); +inline constexpr static_name_t operator""_name(const char* str, std::size_t n); /**************************************************************************************************/ @@ -161,7 +161,7 @@ struct static_name_t { friend struct name_t; - friend constexpr static_name_t literals::operator"" _name(const char* str, std::size_t n); + friend constexpr static_name_t literals::operator""_name(const char* str, std::size_t n); friend std::ostream& operator<<(std::ostream& s, const static_name_t& name); @@ -202,7 +202,7 @@ namespace literals { static_name_t foo("foo"_name); // OK name_t bar("bar"_name); // OK */ -inline constexpr static_name_t operator"" _name(const char* str, std::size_t n) { +inline constexpr static_name_t operator""_name(const char* str, std::size_t n) { return static_name_t{str, detail::name_hash(str, n)}; }