<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/92121>92121</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Unable to catch exceptions with clang++ 18.1.5 on macos ARM (try-catch does nothing)
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          themightyoarfish
      </td>
    </tr>
</table>

<pre>
    # System Info

- OS: macos 12.6.5
- arch: Apple silicon

# Compiler info

- Homebrew clang version 18.1.5
- Target: arm64-apple-darwin21.6.0
- Thread model: posix
- InstalledDir: /opt/homebrew/Cellar/llvm/18.1.5/bin

# Problem description

When an exception of custom type is thrown in the constructor for a class, and that constuctor gets invoked in the `return` statement of a function, this exception cannot be caught in the calling code.

So far the exact circumstances under which this happens or does not happen are unknown to me, but I have attached a small CMake project to demonstrate.

The problem does not occur with `std::runtime_error`, only with a subclass.

# How to run

- `export CC=/opt/homebrew/Cellar/llvm/18.1.5/bin/clang CXX=/opt/homebrew/Cellar/llvm/18.1.5/bin/clang++`
- `cmake ..`
- `make && ./test`

# Result

```
ld: warning: dylib (/opt/homebrew/opt/llvm/lib/c++/libc++.dylib) was built for newer macOS version (12.7) than being linked (12.6)
[100%] Built target test
Throwing
libc++abi: terminating due to uncaught exception of type Error: hallo
Abort trap: 6
```

# Minimal reproducible project

Here is a minimal cmake project (with build artifacts on my machine, in case that is relevant)

[clang-wtf.zip](https://github.com/llvm/llvm-project/files/15309445/clang-wtf.zip)



</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykVUGP2zoO_jXKhRjDVmI3OeSQyWzQHoouOl1sbwtapiNtZcmQ6Mnk_foHyUkm0_ZSPCAwYpEiP378SGOM5uiItqJ-FPXTAifWPmxZ02COms8eQ2-iXrS-O2-FXMLzOTIN8Mn1XpRPotzNzwf48iyWOxhQ-QiVLJqivlowKJ1su3G0BNFYo7y7v5zi7v0wGksBzC-RP_qB2kAnUBbdEV4oROMdVOuiekvyDcOROKXBMDSrB0zJHjoMJ-NkVTRFefPUgbCDwXdkk__oo3m9Gj-5yGgtdU8mJKOQBz-ykAd9ASHkYU_WYhDyYO3LIOThAkQeWvNLWf8OvrU0QEdRBTOyeV_5fzU5QAf0qigbwfegpsh-AD6PBCYC6-BPDowD1gTKu8hhUuwD9D4AJlZiFHIP6DpgjTz7zC5H4gjGvfgf1F1DiKYMxFNwoikhMjIN5DhlRugnpzJIuQfWJt4hU-icZ2gJFE5HzTdEaK1xR1C-o-K-uGcPPYbsQ6-oGJQJahoio1MUYXIdBThpo_ScSuM4kovgA3SeIqRs8xlgIJjcD5eIYA8DJXztxPAJNL4QIDMqTR0gxAGthf1n_EEwBv9_UpyudDRk5pDfg_yms9vcpGtWr9QU4GRYJ7Iid2K5E8tdmBybgf5HIfggmjKB8M6eZ0-EOLW5GcXPKvjoTwlDmNx7ZYumpNfRB4b9Xiyf_lhs8jCPxP77939wXcjH9GvKO1hqSPwVxfvTfChkI2QDhZAHpsg3j7dyv1KcLL87bcrLL7_aRCicMDjjjulvd7amBSHXv6thPrgUYE2bcF8w5_fLS5GDCLmBE0ZoJ2M5T4ijE4W0mL4833aHkOtKFh-SM2t00FJSsDUujclsbITcXMDXj1VZClmL-gkec1zO2wZy_RcZBX9Kxcz13UBha1J9TGEwDjll6SZKYpjcZYzezX4e-n9lfS13oNHayzLctUkmHHBMhua3tL514LNxZkALgcbgu0mZ1t6m4d73I4W8YxCGy4258dfBEXKdtZ3Y7AADmx4VR_AOhnPiVBuXZ9Gk_RBp3j8mQiBLL-j4jcQrlVlyDyfui7_MKOonIdeaeYxpxORByMPRsJ7aQvnhruv2ZXi44peH3liKSc31stysVvVVybewP2XNz0W3XXab5QYXtK0-VHWzqatVs9Bb2bRdv1YVyiX1602DVdOrum_VRnYfln21MFtZylVZV6tqWW_KuujrriqXqKSsm3WvSKxKGtDYIuEsfDguTIwTbTeyktXCYks25i-slJeJk-ljG7a5rnY6RrEqrYkc3yKwYUvb_zhMrWMPClnpN7HEeencDfDlg5h7k7_Cu6-fUwM5nB_my9f9ppNQ5WYxBbv9Y-5zZYn8XNzfAQAA___eYZVI">