[clang] [WIP][clang] Fix std::tm etc. mangling on Solaris (PR #106353)
Rainer Orth via cfe-commits
cfe-commits at lists.llvm.org
Fri Sep 27 08:00:02 PDT 2024
rorth wrote:
Incorporate review comments. However, I still have a mis-mangling of the code that triggered this patch. I've now been able to create a reduced example:
```
namespace std {
extern "C" {
struct tm {
int tm_sec;
};
}
}
using std::tm;
void
func (std::tm tm, const char *ccp, const char *ccp2)
{
}
```
On Linux/x86_64, `func` is mangled as `_Z4funcSt2tmPKcS1_` (`func(std::tm, char const*, char const*)`), as expected. However, when targetting Solaris with this patch, I get instead `_Z4func2tmPKcS0_` (`func(tm, char const*, char const)`, i.e. the `*` has been dropped from the last arg; somehow the substitution is wrong) and I still haven't figured out what I'm doing wrong here.
Any suggestions?
https://github.com/llvm/llvm-project/pull/106353
More information about the cfe-commits
mailing list