Skip to content

Commit 71d4f00

Browse files
committed
[macOS: Switch to clang 21 for x86_64 job too, incl. image bump to macos-15-intel, and try clang 21 fixes]
1 parent 158a8f0 commit 71d4f00

File tree

2 files changed

+20
-7
lines changed

2 files changed

+20
-7
lines changed

.github/actions/1-setup/action.yml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,19 @@ runs:
4949
sudo ln -sf $tool-21 /usr/bin/$tool
5050
$tool --version
5151
done
52-
- name: 'macOS arm64: Install Homebrew clang 21' # see mimalloc comment in ../3-build-native/action.yml
53-
if: runner.os == 'macOS' && inputs.arch == 'arm64'
52+
- name: 'macOS: Install Homebrew clang and lld 21' # see mimalloc comment in ../3-build-native/action.yml
53+
if: runner.os == 'macOS'
5454
shell: bash
55-
run: brew install llvm@21
55+
run: |
56+
set -eux
57+
brew install llvm@21 lld@21
58+
# https://github.com/llvm/llvm-project/issues/155531#issuecomment-3229499205
59+
if [[ '${{ inputs.arch }}' == arm64 ]]; then
60+
prefix="/opt/homebrew/opt/llvm"
61+
else
62+
prefix="/usr/local/opt/llvm"
63+
fi
64+
rm -rf "$prefix/include/c++/v1"
5665
- name: 'Windows: Install clang v21.1.5 from GitHub'
5766
if: runner.os == 'Windows'
5867
shell: bash

.github/workflows/main.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ concurrency:
1414
cancel-in-progress: true
1515

1616
env:
17-
LLVM_VERSION: c922a5f9
17+
LLVM_VERSION: 0b762af9
1818

1919
jobs:
2020
build-native:
@@ -71,12 +71,15 @@ jobs:
7171
with_pgo: true
7272

7373
- job_name: macOS x86_64
74-
os: macos-13
74+
os: macos-15-intel
7575
arch: x86_64
7676
# https://github.com/ldc-developers/ldc/issues/4462:
7777
# When using LTO, we need to explicitly export ~all symbols for plugin support via `ld64 -exported_symbol '__*'`.
7878
# Additionally `-w` to suppress resulting linker warnings.
7979
extra_cmake_flags: >-
80+
-DCMAKE_OSX_SYSROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
81+
-DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang
82+
-DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++
8083
-DD_COMPILER_FLAGS="-O -flto=full -defaultlib=phobos2-ldc-lto,druntime-ldc-lto -L-exported_symbol '-L__*' -L-w"
8184
-DEXTRA_CXXFLAGS=-flto=full
8285
with_pgo: true
@@ -85,8 +88,9 @@ jobs:
8588
os: macos-15
8689
arch: arm64
8790
extra_cmake_flags: >-
88-
-DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm@21/bin/clang
89-
-DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm@21/bin/clang++
91+
-DCMAKE_OSX_SYSROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
92+
-DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm/bin/clang
93+
-DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm/bin/clang++
9094
-DD_COMPILER_FLAGS="-O -flto=full -defaultlib=phobos2-ldc-lto,druntime-ldc-lto -L-exported_symbol '-L__*' -L-w"
9195
-DEXTRA_CXXFLAGS=-flto=full
9296
with_pgo: true

0 commit comments

Comments
 (0)