diff --git a/patches/llvm-project/0001-libcxx-Implement-the-stat-function-family-on-top-of-.patch b/patches/llvm-project/0001-libcxx-Implement-the-stat-function-family-on-top-of-.patch index 44ac256..d23165f 100644 --- a/patches/llvm-project/0001-libcxx-Implement-the-stat-function-family-on-top-of-.patch +++ b/patches/llvm-project/0001-libcxx-Implement-the-stat-function-family-on-top-of-.patch @@ -1,7 +1,7 @@ From 4655075efa11ee17c28493d13760d51e360f7ddd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Wed, 4 Nov 2020 16:59:07 +0200 -Subject: [PATCH 01/24] [libcxx] Implement the stat function family on top of +Subject: [PATCH 01/25] [libcxx] Implement the stat function family on top of native windows APIs While the windows CRTs (the modern UCRT, and the legacy msvcrt.dll diff --git a/patches/llvm-project/0002-libcxx-Implement-_FilesystemClock-now-and-__last_wri.patch b/patches/llvm-project/0002-libcxx-Implement-_FilesystemClock-now-and-__last_wri.patch index de98c21..9c55f23 100644 --- a/patches/llvm-project/0002-libcxx-Implement-_FilesystemClock-now-and-__last_wri.patch +++ b/patches/llvm-project/0002-libcxx-Implement-_FilesystemClock-now-and-__last_wri.patch @@ -1,7 +1,7 @@ From ab432bcd28596265e97eb062a19cbbbdc3d426f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Wed, 4 Nov 2020 22:56:03 +0200 -Subject: [PATCH 02/24] [libcxx] Implement _FilesystemClock::now() and +Subject: [PATCH 02/25] [libcxx] Implement _FilesystemClock::now() and __last_write_time for windows Differential Revision: https://reviews.llvm.org/D91142 diff --git a/patches/llvm-project/0003-libcxx-Hook-up-a-number-of-operation-functions-to-th.patch b/patches/llvm-project/0003-libcxx-Hook-up-a-number-of-operation-functions-to-th.patch index ac2ebcb..cc0d813 100644 --- a/patches/llvm-project/0003-libcxx-Hook-up-a-number-of-operation-functions-to-th.patch +++ b/patches/llvm-project/0003-libcxx-Hook-up-a-number-of-operation-functions-to-th.patch @@ -1,7 +1,7 @@ From 13bc151ad49587f94a123cdb3e2ba770c1513d9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Fri, 6 Nov 2020 11:16:30 +0200 -Subject: [PATCH 03/24] [libcxx] Hook up a number of operation functions to +Subject: [PATCH 03/25] [libcxx] Hook up a number of operation functions to their windows counterparts Use the corresponding wchar functions, named "_wfunc" instead of "func", diff --git a/patches/llvm-project/0004-libcxx-Sanitize-paths-before-creating-symlinks-on-wi.patch b/patches/llvm-project/0004-libcxx-Sanitize-paths-before-creating-symlinks-on-wi.patch index d742921..2fcc797 100644 --- a/patches/llvm-project/0004-libcxx-Sanitize-paths-before-creating-symlinks-on-wi.patch +++ b/patches/llvm-project/0004-libcxx-Sanitize-paths-before-creating-symlinks-on-wi.patch @@ -1,7 +1,7 @@ From 21ffff20ef2e05f8c99bd120d7b1212d75f14dcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Mon, 9 Nov 2020 15:20:18 +0200 -Subject: [PATCH 04/24] [libcxx] Sanitize paths before creating symlinks on +Subject: [PATCH 04/25] [libcxx] Sanitize paths before creating symlinks on windows The MS STL does even more cleanup (corresponding to lexically_normal diff --git a/patches/llvm-project/0005-libcxx-Implement-the-space-function-for-windows.patch b/patches/llvm-project/0005-libcxx-Implement-the-space-function-for-windows.patch index 4c5d471..b716ba9 100644 --- a/patches/llvm-project/0005-libcxx-Implement-the-space-function-for-windows.patch +++ b/patches/llvm-project/0005-libcxx-Implement-the-space-function-for-windows.patch @@ -1,7 +1,7 @@ From 51a0f3a5af65c8e8e1618dc5621705471aba2151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Wed, 4 Nov 2020 23:32:13 +0200 -Subject: [PATCH 05/24] [libcxx] Implement the space function for windows +Subject: [PATCH 05/25] [libcxx] Implement the space function for windows Differential Revision: https://reviews.llvm.org/D91168 diff --git a/patches/llvm-project/0006-libcxx-Implement-the-current_path-function-for-windo.patch b/patches/llvm-project/0006-libcxx-Implement-the-current_path-function-for-windo.patch index e6d8c77..467bcb2 100644 --- a/patches/llvm-project/0006-libcxx-Implement-the-current_path-function-for-windo.patch +++ b/patches/llvm-project/0006-libcxx-Implement-the-current_path-function-for-windo.patch @@ -1,7 +1,7 @@ From 0bdb2f73e8ba72de291d1ca95363835ab538bdab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Wed, 4 Nov 2020 23:46:12 +0200 -Subject: [PATCH 06/24] [libcxx] Implement the current_path function for +Subject: [PATCH 06/25] [libcxx] Implement the current_path function for windows Differential Revision: https://reviews.llvm.org/D91169 diff --git a/patches/llvm-project/0007-libcxx-Implement-the-canonical-function-for-windows.patch b/patches/llvm-project/0007-libcxx-Implement-the-canonical-function-for-windows.patch index 9163941..f5e57d1 100644 --- a/patches/llvm-project/0007-libcxx-Implement-the-canonical-function-for-windows.patch +++ b/patches/llvm-project/0007-libcxx-Implement-the-canonical-function-for-windows.patch @@ -1,7 +1,7 @@ From b6ef948856bfde6326ebc2d1fddc24890b4182f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Wed, 4 Nov 2020 23:51:12 +0200 -Subject: [PATCH 07/24] [libcxx] Implement the canonical function for windows +Subject: [PATCH 07/25] [libcxx] Implement the canonical function for windows Differential Revision: https://reviews.llvm.org/D91170 diff --git a/patches/llvm-project/0008-libcxx-Implement-the-permissions-function-for-window.patch b/patches/llvm-project/0008-libcxx-Implement-the-permissions-function-for-window.patch index e158618..1198c2e 100644 --- a/patches/llvm-project/0008-libcxx-Implement-the-permissions-function-for-window.patch +++ b/patches/llvm-project/0008-libcxx-Implement-the-permissions-function-for-window.patch @@ -1,7 +1,7 @@ From 96748da73f57e6b080643d03e41e8a690ee571a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Wed, 4 Nov 2020 23:55:10 +0200 -Subject: [PATCH 08/24] [libcxx] Implement the permissions function for windows +Subject: [PATCH 08/25] [libcxx] Implement the permissions function for windows Differential Revision: https://reviews.llvm.org/D91171 diff --git a/patches/llvm-project/0009-libcxx-Implement-the-read_symlink-function-for-windo.patch b/patches/llvm-project/0009-libcxx-Implement-the-read_symlink-function-for-windo.patch index 562002c..5c7299b 100644 --- a/patches/llvm-project/0009-libcxx-Implement-the-read_symlink-function-for-windo.patch +++ b/patches/llvm-project/0009-libcxx-Implement-the-read_symlink-function-for-windo.patch @@ -1,7 +1,7 @@ From f28542330202fae54a6fee1bf02a311feef3f60a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Wed, 4 Nov 2020 23:51:18 +0200 -Subject: [PATCH 09/24] [libcxx] Implement the read_symlink function for +Subject: [PATCH 09/25] [libcxx] Implement the read_symlink function for windows Differential Revision: https://reviews.llvm.org/D91172 diff --git a/patches/llvm-project/0010-libcxx-Use-the-posix-code-for-directory_entry-__do_r.patch b/patches/llvm-project/0010-libcxx-Use-the-posix-code-for-directory_entry-__do_r.patch index ff18039..d0bac0e 100644 --- a/patches/llvm-project/0010-libcxx-Use-the-posix-code-for-directory_entry-__do_r.patch +++ b/patches/llvm-project/0010-libcxx-Use-the-posix-code-for-directory_entry-__do_r.patch @@ -1,7 +1,7 @@ From 6f225c9fca50bda8911a4909b3cbf0eb28733384 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Fri, 30 Oct 2020 22:24:25 +0200 -Subject: [PATCH 10/24] [libcxx] Use the posix code for +Subject: [PATCH 10/25] [libcxx] Use the posix code for directory_entry::__do_refresh This works just fine for windows, as all the functions it calls diff --git a/patches/llvm-project/0011-libcxx-Implement-temp_directory_path-using-GetTempPa.patch b/patches/llvm-project/0011-libcxx-Implement-temp_directory_path-using-GetTempPa.patch index 3e7c2f7..ca07f4b 100644 --- a/patches/llvm-project/0011-libcxx-Implement-temp_directory_path-using-GetTempPa.patch +++ b/patches/llvm-project/0011-libcxx-Implement-temp_directory_path-using-GetTempPa.patch @@ -1,7 +1,7 @@ From 3474a416fef709f218ff5897842819d379495cad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Thu, 29 Oct 2020 12:10:26 +0200 -Subject: [PATCH 11/24] [libcxx] Implement temp_directory_path using +Subject: [PATCH 11/25] [libcxx] Implement temp_directory_path using GetTempPath on windows This does roughly the same as the manual implementation, but checks diff --git a/patches/llvm-project/0012-libcxx-Implement-parsing-of-root_name-for-paths-on-w.patch b/patches/llvm-project/0012-libcxx-Implement-parsing-of-root_name-for-paths-on-w.patch index 9200e17..625b51f 100644 --- a/patches/llvm-project/0012-libcxx-Implement-parsing-of-root_name-for-paths-on-w.patch +++ b/patches/llvm-project/0012-libcxx-Implement-parsing-of-root_name-for-paths-on-w.patch @@ -1,7 +1,7 @@ From 3f12aeb4ae3fd43d98f0c698952713d9fef7bef3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Tue, 3 Nov 2020 23:52:32 +0200 -Subject: [PATCH 12/24] [libcxx] Implement parsing of root_name for paths on +Subject: [PATCH 12/25] [libcxx] Implement parsing of root_name for paths on windows Differential Revision: https://reviews.llvm.org/D91176 diff --git a/patches/llvm-project/0013-libcxx-Implement-is_absolute-properly-for-windows.patch b/patches/llvm-project/0013-libcxx-Implement-is_absolute-properly-for-windows.patch index 6c164f6..f5eaefe 100644 --- a/patches/llvm-project/0013-libcxx-Implement-is_absolute-properly-for-windows.patch +++ b/patches/llvm-project/0013-libcxx-Implement-is_absolute-properly-for-windows.patch @@ -1,7 +1,7 @@ From bd50990c64deae4ce6027767659c75a22822e2f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Sun, 1 Nov 2020 23:39:03 +0200 -Subject: [PATCH 13/24] [libcxx] Implement is_absolute properly for windows +Subject: [PATCH 13/25] [libcxx] Implement is_absolute properly for windows Differential Revision: https://reviews.llvm.org/D91177 diff --git a/patches/llvm-project/0014-libcxx-Implement-append-and-operator-properly-for-wi.patch b/patches/llvm-project/0014-libcxx-Implement-append-and-operator-properly-for-wi.patch index 99e768a..7b9e859 100644 --- a/patches/llvm-project/0014-libcxx-Implement-append-and-operator-properly-for-wi.patch +++ b/patches/llvm-project/0014-libcxx-Implement-append-and-operator-properly-for-wi.patch @@ -1,7 +1,7 @@ From bd884f520faaa41618d6e901e1631ff02fab3044 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Wed, 4 Nov 2020 15:59:56 +0200 -Subject: [PATCH 14/24] [libcxx] Implement append and operator/ properly for +Subject: [PATCH 14/25] [libcxx] Implement append and operator/ properly for windows The root_path function has to be changed to return the parsed bit diff --git a/patches/llvm-project/0015-libcxx-Have-lexically_normal-return-the-path-with-pr.patch b/patches/llvm-project/0015-libcxx-Have-lexically_normal-return-the-path-with-pr.patch index eb83ae3..df4930c 100644 --- a/patches/llvm-project/0015-libcxx-Have-lexically_normal-return-the-path-with-pr.patch +++ b/patches/llvm-project/0015-libcxx-Have-lexically_normal-return-the-path-with-pr.patch @@ -1,7 +1,7 @@ From 6131abb23fc2990f9a869ef3d9c63bb0fd5ff464 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Thu, 5 Nov 2020 23:09:15 +0200 -Subject: [PATCH 15/24] [libcxx] Have lexically_normal return the path with +Subject: [PATCH 15/25] [libcxx] Have lexically_normal return the path with preferred separators Differential Revision: https://reviews.llvm.org/D91179 diff --git a/patches/llvm-project/0016-libcxx-Make-generic_-string-return-paths-with-forwar.patch b/patches/llvm-project/0016-libcxx-Make-generic_-string-return-paths-with-forwar.patch index c75bfdf..3d1e147 100644 --- a/patches/llvm-project/0016-libcxx-Make-generic_-string-return-paths-with-forwar.patch +++ b/patches/llvm-project/0016-libcxx-Make-generic_-string-return-paths-with-forwar.patch @@ -1,7 +1,7 @@ From 415ea201cb19775f253dfb0cf8dc561891cff02d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Mon, 9 Nov 2020 11:45:13 +0200 -Subject: [PATCH 16/24] [libcxx] Make generic_*string return paths with forward +Subject: [PATCH 16/25] [libcxx] Make generic_*string return paths with forward slashes on windows This matches what MS STL returns; in std::filesystem, forward slashes diff --git a/patches/llvm-project/0017-SystemZ-ZOS-Guard-using-declaration-for-fchmodat.patch b/patches/llvm-project/0017-SystemZ-ZOS-Guard-using-declaration-for-fchmodat.patch index cd3f429..bfafb2a 100644 --- a/patches/llvm-project/0017-SystemZ-ZOS-Guard-using-declaration-for-fchmodat.patch +++ b/patches/llvm-project/0017-SystemZ-ZOS-Guard-using-declaration-for-fchmodat.patch @@ -1,7 +1,7 @@ From c8c08547b2d1e87391213846c7e17f5426a3dd48 Mon Sep 17 00:00:00 2001 From: Zbigniew Sarbinowski Date: Thu, 18 Feb 2021 14:49:46 +0000 -Subject: [PATCH 17/24] [SystemZ][ZOS] Guard using declaration for ::fchmodat +Subject: [PATCH 17/25] [SystemZ][ZOS] Guard using declaration for ::fchmodat The use of fchmodat() is beeing guarded but its using declaration is not. Let's use the same guard in both places to avoid compiler errors on platforms where `fchmodat` does not exist. diff --git a/patches/llvm-project/0018-libcxx-Enable-filesystem-by-default-for-mingw-target.patch b/patches/llvm-project/0018-libcxx-Enable-filesystem-by-default-for-mingw-target.patch index 5096b88..9e32717 100644 --- a/patches/llvm-project/0018-libcxx-Enable-filesystem-by-default-for-mingw-target.patch +++ b/patches/llvm-project/0018-libcxx-Enable-filesystem-by-default-for-mingw-target.patch @@ -1,7 +1,7 @@ From ff2e16fe051405232fbd9a09c406767b229d27ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Thu, 5 Nov 2020 00:13:22 +0200 -Subject: [PATCH 18/24] [libcxx] Enable filesystem by default for mingw targets +Subject: [PATCH 18/25] [libcxx] Enable filesystem by default for mingw targets This feature can be built successfully for windows now. However, the helper functions for __int128_t aren't available in MSVC diff --git a/patches/llvm-project/0019-libcxx-Explicitly-return-the-expected-error-code-in-.patch b/patches/llvm-project/0019-libcxx-Explicitly-return-the-expected-error-code-in-.patch index 8868a54..29c79a6 100644 --- a/patches/llvm-project/0019-libcxx-Explicitly-return-the-expected-error-code-in-.patch +++ b/patches/llvm-project/0019-libcxx-Explicitly-return-the-expected-error-code-in-.patch @@ -1,7 +1,7 @@ From 69856f3e59b210249020504329e016c691f138e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Fri, 18 Dec 2020 13:34:35 +0200 -Subject: [PATCH 19/24] [libcxx] Explicitly return the expected error code in +Subject: [PATCH 19/25] [libcxx] Explicitly return the expected error code in create_directories if the parent isn't a directory On windows, going ahead and actually trying to create the directory diff --git a/patches/llvm-project/0020-libcxx-Avoid-infinite-recursion-in-create_directorie.patch b/patches/llvm-project/0020-libcxx-Avoid-infinite-recursion-in-create_directorie.patch index f144778..aa7a0e7 100644 --- a/patches/llvm-project/0020-libcxx-Avoid-infinite-recursion-in-create_directorie.patch +++ b/patches/llvm-project/0020-libcxx-Avoid-infinite-recursion-in-create_directorie.patch @@ -1,7 +1,7 @@ From 6c968da9f1e9281055d31f66c292f81de204924d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Sat, 27 Feb 2021 19:12:25 +0200 -Subject: [PATCH 20/24] [libcxx] Avoid infinite recursion in +Subject: [PATCH 20/25] [libcxx] Avoid infinite recursion in create_directories, if the root directory doesn't exist Differential Revision: https://reviews.llvm.org/D97618 diff --git a/patches/llvm-project/0021-libcxx-Map-ERROR_BAD_PATHNAME-to-errc-no_such_file_o.patch b/patches/llvm-project/0021-libcxx-Map-ERROR_BAD_PATHNAME-to-errc-no_such_file_o.patch index f4127fd..00f83fd 100644 --- a/patches/llvm-project/0021-libcxx-Map-ERROR_BAD_PATHNAME-to-errc-no_such_file_o.patch +++ b/patches/llvm-project/0021-libcxx-Map-ERROR_BAD_PATHNAME-to-errc-no_such_file_o.patch @@ -1,7 +1,7 @@ From cd87c3f6b36fd6cd991b8e3a3ac85dc208d55ea1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Sat, 27 Feb 2021 16:09:49 +0200 -Subject: [PATCH 21/24] [libcxx] Map ERROR_BAD_PATHNAME to +Subject: [PATCH 21/25] [libcxx] Map ERROR_BAD_PATHNAME to errc::no_such_file_or_directory on windows Opening a path like \\server (without a trailing share name and diff --git a/patches/llvm-project/0022-libcxx-Avoid-intermediate-string-objects-for-substri.patch b/patches/llvm-project/0022-libcxx-Avoid-intermediate-string-objects-for-substri.patch index 3e834bb..695f7af 100644 --- a/patches/llvm-project/0022-libcxx-Avoid-intermediate-string-objects-for-substri.patch +++ b/patches/llvm-project/0022-libcxx-Avoid-intermediate-string-objects-for-substri.patch @@ -1,7 +1,7 @@ From 497842a9ebb0ca1a6f871a07c0f4b4f1c700a798 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Thu, 11 Mar 2021 13:06:08 +0200 -Subject: [PATCH 22/24] [libcxx] Avoid intermediate string objects for +Subject: [PATCH 22/25] [libcxx] Avoid intermediate string objects for substrings in windows operator/= Check that appends with a path object doesn't do allocations, even diff --git a/patches/llvm-project/0023-libcxx-Test-accessing-a-directory-on-windows-that-gi.patch b/patches/llvm-project/0023-libcxx-Test-accessing-a-directory-on-windows-that-gi.patch index 44bb113..b0f593e 100644 --- a/patches/llvm-project/0023-libcxx-Test-accessing-a-directory-on-windows-that-gi.patch +++ b/patches/llvm-project/0023-libcxx-Test-accessing-a-directory-on-windows-that-gi.patch @@ -1,7 +1,7 @@ From 9a1bb266e38b31c78de03abc2d41cdd3245595d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Mon, 8 Mar 2021 12:03:30 +0200 -Subject: [PATCH 23/24] [libcxx] Test accessing a directory on windows that +Subject: [PATCH 23/25] [libcxx] Test accessing a directory on windows that gives "access denied" errors Fix handling of skip_permission_denied on windows; after converting diff --git a/patches/llvm-project/0024-libc-Improve-src-filesystem-s-formatting-of-paths.patch b/patches/llvm-project/0024-libc-Improve-src-filesystem-s-formatting-of-paths.patch index 3a8db35..f08cd88 100644 --- a/patches/llvm-project/0024-libc-Improve-src-filesystem-s-formatting-of-paths.patch +++ b/patches/llvm-project/0024-libc-Improve-src-filesystem-s-formatting-of-paths.patch @@ -1,7 +1,7 @@ From 7a94808f488301270f4a55ff7a17a8ebff3d388c Mon Sep 17 00:00:00 2001 From: Arthur O'Dwyer Date: Fri, 5 Mar 2021 20:13:35 -0500 -Subject: [PATCH 24/24] [libc++] Improve src/filesystem's formatting of paths. +Subject: [PATCH 24/25] [libc++] Improve src/filesystem's formatting of paths. This is my attempt to merge D98077 (bugfix the format strings for Windows paths, which use wchar_t not char) diff --git a/patches/llvm-project/0025-libcxx-Make-the-visibility-attributes-consistent-for.patch b/patches/llvm-project/0025-libcxx-Make-the-visibility-attributes-consistent-for.patch new file mode 100644 index 0000000..c83ab99 --- /dev/null +++ b/patches/llvm-project/0025-libcxx-Make-the-visibility-attributes-consistent-for.patch @@ -0,0 +1,98 @@ +From 138e1609764e2226938df8cd6176303b41e4f325 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Storsj=C3=B6?= +Date: Tue, 18 May 2021 14:45:08 +0000 +Subject: [PATCH 25/25] [libcxx] Make the visibility attributes consistent for + __narrow_to_utf8/__widen_from_utf8 + +Use the same visiblity attributes as for all other template +specializations in the same file; declare the specialization itself +using _LIBCPP_TYPE_VIS, and don't use _LIBCPP_EXPORTED_FROM_ABI on +the destructor. Methods that are excluded from the ABI are marked +with _LIBCPP_INLINE_VISIBILITY. + +This makes the vtable exported from DLL builds of libc++. Practically, +it doesn't make any difference for the CI configuration, but it +can make a difference in mingw setups. + +Differential Revision: https://reviews.llvm.org/D102717 + +(cherry picked from commit 3a6be27978aa3e83e9dc2ff2402b2569ce0686fd) +--- + libcxx/include/__locale | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/libcxx/include/__locale b/libcxx/include/__locale +index 77e5faab2676..c2800e88e8d2 100644 +--- a/libcxx/include/__locale ++++ b/libcxx/include/__locale +@@ -1484,14 +1484,14 @@ struct __narrow_to_utf8<8> + + _LIBCPP_SUPPRESS_DEPRECATED_PUSH + template <> +-struct _LIBCPP_TEMPLATE_VIS __narrow_to_utf8<16> ++struct _LIBCPP_TYPE_VIS __narrow_to_utf8<16> + : public codecvt + { + _LIBCPP_INLINE_VISIBILITY + __narrow_to_utf8() : codecvt(1) {} + _LIBCPP_SUPPRESS_DEPRECATED_POP + +- _LIBCPP_EXPORTED_FROM_ABI ~__narrow_to_utf8(); ++ ~__narrow_to_utf8(); + + template + _LIBCPP_INLINE_VISIBILITY +@@ -1520,14 +1520,14 @@ _LIBCPP_SUPPRESS_DEPRECATED_POP + + _LIBCPP_SUPPRESS_DEPRECATED_PUSH + template <> +-struct _LIBCPP_TEMPLATE_VIS __narrow_to_utf8<32> ++struct _LIBCPP_TYPE_VIS __narrow_to_utf8<32> + : public codecvt + { + _LIBCPP_INLINE_VISIBILITY + __narrow_to_utf8() : codecvt(1) {} + _LIBCPP_SUPPRESS_DEPRECATED_POP + +- _LIBCPP_EXPORTED_FROM_ABI ~__narrow_to_utf8(); ++ ~__narrow_to_utf8(); + + template + _LIBCPP_INLINE_VISIBILITY +@@ -1578,14 +1578,14 @@ struct __widen_from_utf8<8> + + _LIBCPP_SUPPRESS_DEPRECATED_PUSH + template <> +-struct _LIBCPP_TEMPLATE_VIS __widen_from_utf8<16> ++struct _LIBCPP_TYPE_VIS __widen_from_utf8<16> + : public codecvt + { + _LIBCPP_INLINE_VISIBILITY + __widen_from_utf8() : codecvt(1) {} + _LIBCPP_SUPPRESS_DEPRECATED_POP + +- _LIBCPP_EXPORTED_FROM_ABI ~__widen_from_utf8(); ++ ~__widen_from_utf8(); + + template + _LIBCPP_INLINE_VISIBILITY +@@ -1614,14 +1614,14 @@ _LIBCPP_SUPPRESS_DEPRECATED_POP + + _LIBCPP_SUPPRESS_DEPRECATED_PUSH + template <> +-struct _LIBCPP_TEMPLATE_VIS __widen_from_utf8<32> ++struct _LIBCPP_TYPE_VIS __widen_from_utf8<32> + : public codecvt + { + _LIBCPP_INLINE_VISIBILITY + __widen_from_utf8() : codecvt(1) {} + _LIBCPP_SUPPRESS_DEPRECATED_POP + +- _LIBCPP_EXPORTED_FROM_ABI ~__widen_from_utf8(); ++ ~__widen_from_utf8(); + + template + _LIBCPP_INLINE_VISIBILITY +-- +2.25.1 +