diff options
author | Longsheng Mou <moulongsheng@huawei.com> | 2024-08-13 11:35:23 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-13 11:35:23 +0800 |
commit | a27f40e5d9636b0853e8de0b95d72261f8d34696 (patch) | |
tree | 735be01c7d93f8e1fe25e30a01760637f3a69398 /llvm/lib/Support/CommandLine.cpp | |
parent | 3f9c9aceddf5f6dc736ee39bb2088fd3ce884a08 (diff) | |
download | llvm-a27f40e5d9636b0853e8de0b95d72261f8d34696.zip llvm-a27f40e5d9636b0853e8de0b95d72261f8d34696.tar.gz llvm-a27f40e5d9636b0853e8de0b95d72261f8d34696.tar.bz2 |
[X86_64] Fix empty field error in vaarg of C++. (#101639)
Such struct types:
```
struct {
struct{} a;
long long b;
};
stuct {
struct{} a;
double b;
};
```
For such structures, Lo is NoClass and Hi is Integer/SSE. And when this
structure argument is passed, the high part is passed at offset 8 in
memory. So we should do special handling for these types in
EmitVAArg.Fix https://github.com/llvm/llvm-project/issues/79790 and fix
https://github.com/llvm/llvm-project/issues/86371.
Diffstat (limited to 'llvm/lib/Support/CommandLine.cpp')
0 files changed, 0 insertions, 0 deletions