[libcxx-commits] [libcxx] [libc++] Define __libcpp_recursive_mutex_t on MIPS architecture (PR #144272)

Hervé Poussineau via libcxx-commits libcxx-commits at lists.llvm.org
Sun Jun 15 11:49:58 PDT 2025


https://github.com/hpoussin created https://github.com/llvm/llvm-project/pull/144272

MIPS is a 32-bit architecture, so use the same definition as other 32-bit architectures.

>From 46394daca0427d7d1bf21b37000e801580a7adfb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin at reactos.org>
Date: Sun, 15 Jun 2025 20:47:12 +0200
Subject: [PATCH] [libc++] Define __libcpp_recursive_mutex_t on MIPS
 architecture

MIPS is a 32-bit architecture, so use the same definition as other
32-bit architectures.
---
 libcxx/include/__cxx03/__thread/support/windows.h | 3 ++-
 libcxx/include/__thread/support/windows.h         | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/libcxx/include/__cxx03/__thread/support/windows.h b/libcxx/include/__cxx03/__thread/support/windows.h
index 45252a57efaec..ee4a74dd1267d 100644
--- a/libcxx/include/__cxx03/__thread/support/windows.h
+++ b/libcxx/include/__cxx03/__thread/support/windows.h
@@ -28,7 +28,8 @@ using __libcpp_timespec_t = ::timespec;
 typedef void* __libcpp_mutex_t;
 #define _LIBCPP_MUTEX_INITIALIZER 0
 
-#if defined(_M_IX86) || defined(__i386__) || defined(_M_ARM) || defined(__arm__)
+#if defined(_M_IX86) || defined(__i386__) || defined(_M_ARM) || defined(__arm__) || defined(_M_MRX000) ||              \
+    defined(__mips__)
 typedef void* __libcpp_recursive_mutex_t[6];
 #elif defined(_M_AMD64) || defined(__x86_64__) || defined(_M_ARM64) || defined(__aarch64__)
 typedef void* __libcpp_recursive_mutex_t[5];
diff --git a/libcxx/include/__thread/support/windows.h b/libcxx/include/__thread/support/windows.h
index 5dc4fa14f45b6..bc06082880427 100644
--- a/libcxx/include/__thread/support/windows.h
+++ b/libcxx/include/__thread/support/windows.h
@@ -28,7 +28,8 @@ using __libcpp_timespec_t = ::timespec;
 typedef void* __libcpp_mutex_t;
 #define _LIBCPP_MUTEX_INITIALIZER 0
 
-#if defined(_M_IX86) || defined(__i386__) || defined(_M_ARM) || defined(__arm__)
+#if defined(_M_IX86) || defined(__i386__) || defined(_M_ARM) || defined(__arm__) || defined(_M_MRX000) ||              \
+    defined(__mips__)
 typedef void* __libcpp_recursive_mutex_t[6];
 #elif defined(_M_AMD64) || defined(__x86_64__) || defined(_M_ARM64) || defined(__aarch64__)
 typedef void* __libcpp_recursive_mutex_t[5];



More information about the libcxx-commits mailing list