Closed
Bug 1849070
Opened 2 years ago
Closed 2 years ago
js/src/builtin/intl/Locale.cpp:204:20: warning: 'char_traits<unsigned char>' is deprecated: char_traits<T> for T not equal to char, wchar_t, char8_t, char16_t or char32_t is non-standard and is provided for a temporary period. It will be removed in LLVM 1
Categories
(Core :: JavaScript: Internationalization API, defect)
Core
JavaScript: Internationalization API
Tracking
()
RESOLVED
FIXED
118 Branch
Tracking | Status | |
---|---|---|
firefox118 | --- | fixed |
People
(Reporter: glandium, Assigned: glandium)
References
Details
Attachments
(1 file)
This shows up in wasi-intl builds, as well as mingw builds (because they all use libc++ from clang):
[task 2023-08-17T00:56:42.333Z] In file included from Unified_cpp_js_src5.cpp:11:
[task 2023-08-17T00:56:42.334Z] /builds/worker/checkouts/gecko/js/src/builtin/intl/Locale.cpp:204:20: warning: 'char_traits<unsigned char>' is deprecated: char_traits<T> for T not equal to char, wchar_t, char8_t, char16_t or char32_t is non-standard and is provided for a temporary period. It will be removed in LLVM 18, so please migrate off of it. [-Wdeprecated-declarations]
[task 2023-08-17T00:56:42.334Z] iter_ = std::char_traits<CharT>::find(
[task 2023-08-17T00:56:42.334Z] ^
[task 2023-08-17T00:56:42.334Z] /builds/worker/checkouts/gecko/js/src/builtin/intl/Locale.cpp:765:21: note: in instantiation of member function 'SepKeywordIterator<unsigned char>::next' requested here
[task 2023-08-17T00:56:42.334Z] beginKey = iter.next();
[task 2023-08-17T00:56:42.334Z] ^
[task 2023-08-17T00:56:42.334Z] /builds/worker/checkouts/gecko/js/src/builtin/intl/Locale.cpp:804:16: note: in instantiation of function template specialization 'FindUnicodeExtensionType<unsigned char>' requested here
[task 2023-08-17T00:56:42.334Z] ? FindUnicodeExtensionType(unicodeExtension->latin1Chars(nogc),
[task 2023-08-17T00:56:42.334Z] ^
[task 2023-08-17T00:56:42.334Z] /builds/worker/fetches/sysroot-wasm32-wasi/include/c++/v1/__string/char_traits.h:79:8: note: 'char_traits<unsigned char>' has been explicitly marked deprecated here
[task 2023-08-17T00:56:42.334Z] struct _LIBCPP_DEPRECATED_("char_traits<T> for T not equal to char, wchar_t, char8_t, char16_t or char32_t is non-standard and is provided for a temporary period. It will be removed in LLVM 18, so please migrate off of it.")
[task 2023-08-17T00:56:42.334Z] ^
[task 2023-08-17T00:56:42.334Z] /builds/worker/fetches/sysroot-wasm32-wasi/include/c++/v1/__config:782:53: note: expanded from macro '_LIBCPP_DEPRECATED_'
[task 2023-08-17T00:56:42.334Z] # define _LIBCPP_DEPRECATED_(m) __attribute__((deprecated(m)))
[task 2023-08-17T00:56:42.334Z] ^
[task 2023-08-17T00:56:42.334Z] In file included from Unified_cpp_js_src5.cpp:11:
[task 2023-08-17T00:56:42.334Z] /builds/worker/checkouts/gecko/js/src/builtin/intl/Locale.cpp:863:31: warning: 'char_traits<unsigned char>' is deprecated: char_traits<T> for T not equal to char, wchar_t, char8_t, char16_t or char32_t is non-standard and is provided for a temporary period. It will be removed in LLVM 18, so please migrate off of it. [-Wdeprecated-declarations]
[task 2023-08-17T00:56:42.334Z] if (const CharT* sep = std::char_traits<CharT>::find(baseName, length, '-')) {
[task 2023-08-17T00:56:42.334Z] ^
[task 2023-08-17T00:56:42.334Z] /builds/worker/checkouts/gecko/js/src/builtin/intl/Locale.cpp:922:16: note: in instantiation of function template specialization 'BaseNameParts<unsigned char>' requested here
[task 2023-08-17T00:56:42.334Z] ? BaseNameParts(baseName->latin1Chars(nogc), baseName->length())
[task 2023-08-17T00:56:42.334Z] ^
[task 2023-08-17T00:56:42.334Z] /builds/worker/fetches/sysroot-wasm32-wasi/include/c++/v1/__string/char_traits.h:79:8: note: 'char_traits<unsigned char>' has been explicitly marked deprecated here
[task 2023-08-17T00:56:42.334Z] struct _LIBCPP_DEPRECATED_("char_traits<T> for T not equal to char, wchar_t, char8_t, char16_t or char32_t is non-standard and is provided for a temporary period. It will be removed in LLVM 18, so please migrate off of it.")
[task 2023-08-17T00:56:42.334Z] ^
[task 2023-08-17T00:56:42.334Z] /builds/worker/fetches/sysroot-wasm32-wasi/include/c++/v1/__config:782:53: note: expanded from macro '_LIBCPP_DEPRECATED_'
[task 2023-08-17T00:56:42.334Z] # define _LIBCPP_DEPRECATED_(m) __attribute__((deprecated(m)))
[task 2023-08-17T00:56:42.334Z] ^
[task 2023-08-17T00:56:42.334Z] 2 warnings generated.
The warning turns into an error with current clang trunk.
Assignee | ||
Comment 1•2 years ago
|
||
It is not guaranteed to exist by the standard, and is actively being
removed from libc++ in LLVM 18.
Updated•2 years ago
|
Assignee: nobody → mh+mozilla
Status: NEW → ASSIGNED
Pushed by mh@glandium.org:
https://hg.mozilla.org/integration/autoland/rev/68ff4d3f7338
Avoid using char_traits<unsigned char>. r=spidermonkey-reviewers,anba
Comment 3•2 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
status-firefox118:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 118 Branch
Updated•2 years ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•