slackito wrote: I have a reduced test case for the mangling issue mentioned [here](https://github.com/llvm/llvm-project/pull/133610#issuecomment-2784039483). It's still a bit long (118 lines), so apologies for that.
[hash_mangling.txt](https://github.com/user-attachments/files/19654889/hash_mangling.txt) Rename the attached file to `hash_mangling.ii` (github wouldn't let me attach it with a .ii extension), then build with `clang++ -c hash_mangling.ii`. With an affected version of `clang` (just checked at HEAD) the resulting object file contains the wrong mangled name: ``` $ llvm-readelf -s -W hash_mangling.o | grep hashable 33: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND _ZN4absl18container_internal13AbslHashValueINS_13hash_internal15MixingHashStateEEEN12_GLOBAL__N_19enable_ifIXsrNT_S6_11is_hashableIiEE5valueES6_E4typeES6_NS0_12raw_hash_setINS0_17FlatHashSetPolicyEiEE ``` (note the spurious `S6_` mentioned in the comment above) With a good version of clang, the output looks like this instead ``` 33: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND _ZN4absl18container_internal13AbslHashValueINS_13hash_internal15MixingHashStateEEEN12_GLOBAL__N_19enable_ifIXsrNT_11is_hashableIiEE5valueES6_E4typeES6_NS0_12raw_hash_setINS0_17FlatHashSetPolicyEiEE ``` https://github.com/llvm/llvm-project/pull/133610 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits