[clang] [clang][darwin] Firmware needs to support thread local storage (PR #212657)

via cfe-commits cfe-commits at lists.llvm.org
Tue Jul 28 17:06:49 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: Ian Anderson (ian-twilightcoder)

<details>
<summary>Changes</summary>

rdar://182496170

---
Full diff: https://github.com/llvm/llvm-project/pull/212657.diff


2 Files Affected:

- (modified) clang/lib/Basic/Targets/OSTargets.h (+2) 
- (modified) clang/test/Sema/darwin-tls.c (+1) 


``````````diff
diff --git a/clang/lib/Basic/Targets/OSTargets.h b/clang/lib/Basic/Targets/OSTargets.h
index 7c4666606d89f..e3343ca3e1902 100644
--- a/clang/lib/Basic/Targets/OSTargets.h
+++ b/clang/lib/Basic/Targets/OSTargets.h
@@ -110,6 +110,8 @@ class LLVM_LIBRARY_VISIBILITY DarwinTargetInfo
       // No TLS on DriverKit.
     } else if (Triple.isXROS())
       this->TLSSupported = true;
+    else if (Triple.isAppleFirmware())
+      this->TLSSupported = true;
 
     this->MCountName = "\01mcount";
   }
diff --git a/clang/test/Sema/darwin-tls.c b/clang/test/Sema/darwin-tls.c
index 4f80cb72779d8..2a3d6871cd88c 100644
--- a/clang/test/Sema/darwin-tls.c
+++ b/clang/test/Sema/darwin-tls.c
@@ -15,6 +15,7 @@
 // RUN: %clang_cc1 -fsyntax-only -Wno-error=implicit-int -triple i386-apple-watchos3.0-simulator %s 2>&1 | FileCheck %s --check-prefix TLS
 // RUN: %clang_cc1 -fsyntax-only -Wno-error=implicit-int -triple arm64-apple-xros %s 2>&1 | FileCheck %s --check-prefix TLS
 // RUN: %clang_cc1 -fsyntax-only -Wno-error=implicit-int -triple arm64-apple-xros-simulator %s 2>&1 | FileCheck %s --check-prefix TLS
+// RUN: %clang_cc1 -fsyntax-only -Wno-error=implicit-int -triple arm64-apple-firmware %s 2>&1 | FileCheck %s --check-prefix TLS
 
 
 __thread int a;

``````````

</details>


https://github.com/llvm/llvm-project/pull/212657


More information about the cfe-commits mailing list