From 5b4493ae46a1c2c7a442e289b06dc916d5e0c744 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Fri, 6 Jun 2025 03:14:03 +0200 Subject: [PATCH] libcxx: Fix locale-related compilation errors on NetBSD. llvm/llvm-project#143055 --- .../include/__locale_dir/locale_base_api.h | 2 ++ .../include/__locale_dir/support/apple.h | 2 ++ .../include/__locale_dir/support/bsd_like.h | 2 -- .../include/__locale_dir/support/freebsd.h | 2 ++ .../include/__locale_dir/support/netbsd.h | 20 +++++++++++++++++++ 5 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 lib/libcxx/include/__locale_dir/support/netbsd.h diff --git a/lib/libcxx/include/__locale_dir/locale_base_api.h b/lib/libcxx/include/__locale_dir/locale_base_api.h index c1e73caeecce..538b194ec35a 100644 --- a/lib/libcxx/include/__locale_dir/locale_base_api.h +++ b/lib/libcxx/include/__locale_dir/locale_base_api.h @@ -115,6 +115,8 @@ # include <__locale_dir/support/apple.h> #elif defined(__FreeBSD__) # include <__locale_dir/support/freebsd.h> +#elif defined(__NetBSD__) +# include <__locale_dir/support/netbsd.h> #elif defined(_LIBCPP_MSVCRT_LIKE) # include <__locale_dir/support/windows.h> #elif defined(__Fuchsia__) diff --git a/lib/libcxx/include/__locale_dir/support/apple.h b/lib/libcxx/include/__locale_dir/support/apple.h index 62eb79c30d43..5216ed2ba758 100644 --- a/lib/libcxx/include/__locale_dir/support/apple.h +++ b/lib/libcxx/include/__locale_dir/support/apple.h @@ -15,6 +15,8 @@ # pragma GCC system_header #endif +#include + #include <__locale_dir/support/bsd_like.h> #endif // _LIBCPP___LOCALE_DIR_SUPPORT_APPLE_H diff --git a/lib/libcxx/include/__locale_dir/support/bsd_like.h b/lib/libcxx/include/__locale_dir/support/bsd_like.h index 405f1589c8c9..51b37e5861d1 100644 --- a/lib/libcxx/include/__locale_dir/support/bsd_like.h +++ b/lib/libcxx/include/__locale_dir/support/bsd_like.h @@ -24,8 +24,6 @@ # include #endif -#include - #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header #endif diff --git a/lib/libcxx/include/__locale_dir/support/freebsd.h b/lib/libcxx/include/__locale_dir/support/freebsd.h index 5c6e21e38727..5e24cbd29bb5 100644 --- a/lib/libcxx/include/__locale_dir/support/freebsd.h +++ b/lib/libcxx/include/__locale_dir/support/freebsd.h @@ -15,6 +15,8 @@ # pragma GCC system_header #endif +#include + #include <__locale_dir/support/bsd_like.h> #endif // _LIBCPP___LOCALE_DIR_SUPPORT_FREEBSD_H diff --git a/lib/libcxx/include/__locale_dir/support/netbsd.h b/lib/libcxx/include/__locale_dir/support/netbsd.h new file mode 100644 index 000000000000..190857f6f84f --- /dev/null +++ b/lib/libcxx/include/__locale_dir/support/netbsd.h @@ -0,0 +1,20 @@ +//===-----------------------------------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef _LIBCPP___LOCALE_DIR_SUPPORT_NETBSD_H +#define _LIBCPP___LOCALE_DIR_SUPPORT_NETBSD_H + +#include <__config> + +#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) +# pragma GCC system_header +#endif + +#include <__locale_dir/support/bsd_like.h> + +#endif // _LIBCPP___LOCALE_DIR_SUPPORT_NETBSD_H