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

    <tr>
        <th>Summary</th>
        <td>
            Clang++ crashes when using pointer-to-member pointers from separate named modules
        </td>
    </tr>

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

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

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

<pre>
    clang++ crashes while building CMake project with c++ modules using pointer-to-member pointers with the following stack trace:

```
Stack dump:
0.      Program arguments: D:\\LLVM\\bin\\clang++.exe -cc1 -triple x86_64-pc-windows-msvc19.41.34120 -emit-obj -mincremental-linker-compatible -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name bar.ixx -mrelocation-model pic -pic-level 2 -mframe-pointer=none -relaxed-aliasing -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -gno-column-info -gcodeview -debug-info-kind=constructor -fdebug-compilation-dir=D:\\Algotask3\\cmake-build-debug -object-file-name=D:\\Algotask3\\cmake-build-debug\\CMakeFiles\\ptr_bug.dir\\bar.ixx.obj -fcoverage-compilation-dir=D:\\Algotask3\\cmake-build-debug -resource-dir D:\\LLVM\\lib\\clang\\19 -O0 -std=gnu++23 -fdeprecated-macro -ferror-limit 19 -fno-use-cxa-atexit -fms-extensions -fms-compatibility -fms-compatibility-version=19.41.34120 -fno-implicit-modules -fmodule-file=foo=CMakeFiles/ptr_bug.dir/foo.pcm -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions --dependent-lib=msvcrtd -gcodeview -faddrsig -o CMakeFiles/ptr_bug.dir/bar.ixx.obj -x pcm CMakeFiles/ptr_bug.dir/bar.pcm
1.      <eof> parser at end of file
2.      D:\Algotask3\bar.ixx:5:14: LLVM IR generation of declaration 'Bar'
Exception Code: 0xC0000005
 #0 0x00007ff6275d6e30 (D:\LLVM\bin\clang++.exe+0xa6e30)
 #1 0x00007ff62920c356 (D:\LLVM\bin\clang++.exe+0x1cdc356)
 #2 0x00007ff628757dd0 (D:\LLVM\bin\clang++.exe+0x1227dd0)
 #3 0x00007ff628bb853a (D:\LLVM\bin\clang++.exe+0x168853a)
 #4 0x00007ff6283e03ec (D:\LLVM\bin\clang++.exe+0xeb03ec)
 #5 0x00007ff6283dc4ca (D:\LLVM\bin\clang++.exe+0xeac4ca)
 #6 0x00007ff628756d4f (D:\LLVM\bin\clang++.exe+0x1226d4f)
 #7 0x00007ff628755948 (D:\LLVM\bin\clang++.exe+0x1225948)
 #8 0x00007ff629736699 (D:\LLVM\bin\clang++.exe+0x2206699)
 #9 0x00007ff629732ce0 (D:\LLVM\bin\clang++.exe+0x2202ce0)
#10 0x00007ff6297326c2 (D:\LLVM\bin\clang++.exe+0x22026c2)
#11 0x00007ff629732651 (D:\LLVM\bin\clang++.exe+0x2202651)
#12 0x00007ff6297309e8 (D:\LLVM\bin\clang++.exe+0x22009e8)
#13 0x00007ff62877a752 (D:\LLVM\bin\clang++.exe+0x124a752)
#14 0x00007ff62910faec (D:\LLVM\bin\clang++.exe+0x1bdfaec)
#15 0x00007ff6290fe816 (D:\LLVM\bin\clang++.exe+0x1bce816)
#16 0x00007ff62a525af4 (D:\LLVM\bin\clang++.exe+0x2ff5af4)
#17 0x00007ff62992565e (D:\LLVM\bin\clang++.exe+0x23f565e)
#18 0x00007ff629094f2a (D:\LLVM\bin\clang++.exe+0x1b64f2a)
#19 0x00007ff627af0f21 (D:\LLVM\bin\clang++.exe+0x5c0f21)
#20 0x00007ff627af0ab2 (D:\LLVM\bin\clang++.exe+0x5c0ab2)
#21 0x00007ff627aed826 (D:\LLVM\bin\clang++.exe+0x5bd826)
#22 0x00007ff627aea7e5 (D:\LLVM\bin\clang++.exe+0x5ba7e5)
#23 0x00007ff627ae917e (D:\LLVM\bin\clang++.exe+0x5b917e)
#24 0x00007ff62796c21a (D:\LLVM\bin\clang++.exe+0x43c21a)
#25 0x00007ff627968c73 (D:\LLVM\bin\clang++.exe+0x438c73)
#26 0x00007ff6291350b8 (D:\LLVM\bin\clang++.exe+0x1c050b8)
#27 0x00007ffaf1457374 (C:\WINDOWS\System32\KERNEL32.DLL+0x17374)
#28 0x00007ffaf25bcc91 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x4cc91)
clang++: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 19.1.3
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: D:\LLVM\bin
```

[source_and_run_script.zip](https://github.com/user-attachments/files/17746387/source_and_run_script.zip)
[repro_files.zip](https://github.com/user-attachments/files/17746388/repro_files.zip)

The issue only occurs when the classes are originally from different modules. If they are defined in the same module, the program builds fine.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysmF1v6ygaxz-Ne4OIbPBLfJGL0-REe3bPmVnNGe1oryoMDwlTDBbgNN1Pv8J2T0O2OyNrt6pSmzz_H_C8UIB5r04GYJdVj1l1eGBjOFu3-6s16i-gwTx0VrzuuGbmlJHHjDwi7pg_g0cvZ6UBdaPSQpkT2n9jz4AGZ38HHtCLCmfEF0VvxajBo9FHw8EqE8DhYHEPfQfurcXPqnAGJK3W9iVa-8D4MwqOccjopyw_ZPnbZ50vv9Pr98lQjP3wwy7fZHn7d2dPjvWIudPYgwk-o5_QIdpU-6zaf_36j2_zU6fM_HAz2Q1cAWHOC4SDU4MGdN3WT3WJB45flBH2xePeX3jRbspiQ8uC5AhDrwK23e8I98pwB7FXprFW5hkc5rYfWFCdBoSF8qzTgKWD2I0G5jDzAXcgrQPcMf4MRrzbaX3p8QWckgrc1MyZE_jC9AjYsB48wj1TBkul5wbUMbdR1yvCvQNtOQvKGtxbARoNiiM8KI41XEAjgnAvHesBL_HI6MFYAwg70OwKAjOt2BRCLHsWzhicMxZhKQfMrYkxChk9WIOwNBY7O5qYGTjaItxza3xwIw_WzaQ4Wjma6Ecc4vx8Rg8E4cDcCQLmwxi9jesS4TAamBpOYMDFcZ-MxdzqsTdYGWkRPnEr4KLgBWEB3XiamvGzMiKjh5u-EZbz9zEQSs8OESrO9j0rPumTDcw_0yUjevYMeEr1GY5ifIGHd0evks_NU8UcVZz39D4E99SNp00czJyRc-w2Uy5Jbi_g2An-x4E78HZ0HKL0wzrQqrutg-mxaBH-OUfYh-jNkxnn8iB08ubggLMAAveMu5gQ4Jx1WKteBRSlMR1GD5hfGWYBrirEFPIYrgGMV9b4-f2tNpRW4fWDppj70Tyjh6TiIl_1g1ZcBfy22mA5P00xyuhBWpvRw43TyfHW4-Qord0MvEdY-mc1YCsc5mfgz1gZfOplDMH1iuHKYQjLmG9fsIABjAATcHQhPcSFwQWRpKZkQjivYgKhPxhKEvkriqP6E-uB9_OiV8RFL6N7sDKjn9HAnAeHWEBxJbESTd6YLEm0XDLgNm-WzjP6qcrop6KMC2ZMD_Tll7n-ptSLLAFcs-U1I80jcxlpZvjnN8-gvRVx6Ub5dZ9PP9VsgTJCc5RfY1MjZU2aStRAc5SR7TKqJSnnlfluWc7IY35lUZCR9p1Y3BJbknNa1WuIBRdRkjDJLXPbVI0Qq0ZZEBIlCZMmzK7bVpStYtbbKEmYZcKkkFPga5jQRUWCrFKk4CVfNUxgUZEg6ztv1qKUK70ZJQmzuWNWbbldyYyShLlNMqmhdd22a5iE5FGSMNs7JuGwKpMIyaPkBzMmfH7PrDlZy6w5SZjFfzCrYjWzKhImuWPmLayKESF5lCTMtIqahjXVqrkXpIyShJlUUVvkkq2roqITUZIwkzJqcwnbYt2q1PEoSZhJHbGKVEyWq_wpZZQkzKSO2pZUdQWrmFRGScJM6yhvS0nWrXRdHSUJM6mjhslcklX5WfGouEWS_B7JulWpVPGoSJBFigSxJauiXnVRkSDJHZI1UK1DRkWCpHfItmhWxbzqoiJBJiXUtDUnxaqQlzQqEmR1h9zyhq5DRkWCrNNCp1XerfunwfMoSZg3BcRkUVYNbaai3M_M3778dPj5t-9Ztf_-6gP0lGTV_m-ff_np81dKNoevX2dwVCXY7S2WVB3nbfEx9p_ff_38bcKaILTeCK3n-UfJD-bNdOLWbNqvx4epHUlnTYjbRW77nhmBJFMaBBIjoGCRVyfDdOx-9IDwZWoDQMpclgNm2g9adu2oaDfFhs7f_Dod8mKfH5-oF6uzAybQdF6NtoP16jp_9cX4wLQGcVDu5kh_E7WPbgmWz-pxPgQ9MSOe3GiePHdqCJt_qSGrDhnZnkMYfCSSY0aOJxXOY7fhts_IcfTgMAuB8fN8n0COctmWF01T1nTbZOT43_k_4lo9OhicfZrU_6eutxk53lN_dLi4FJDyfgRkjX5FlvPRefRyBjPdvHDNfDyZMwfIOnVShmn9GlOiR0JJCQ5MeLvR2aAvMqpeJ3MBUhkQSM0kz3pYDDOyn5qG5S5mOpB6FM03D2JHRUtb9gC7oqFF1TQ5bR_Ou1iPlNRdy0qxbSXf0qZpeCvaqhQdF_mD2pGclEVRlHlLm6LdVCVjHSnavGi2fNtWWZlDz5TeaH3pN9adHqaJ74qiLtr8QbMOtJ8uvghZKoJk1eHB7aaLlm48-azMtfLBvyOCChp2-w8vxMD8-R3X5EkPQzw3ATKsB_HmzofR6d0fhD-OYfmDl4u2jBynOU0pME_rsiP_DgAA__8nUs7P">