https://github.com/CoTinker approved this pull request.
https://github.com/llvm/llvm-project/pull/114795
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
CoTinker wrote:
Thanks.
https://github.com/llvm/llvm-project/pull/101639
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/101639
>From 3ff5909e6c0cc7acff96ed4e8524a3b5949b209f Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Fri, 2 Aug 2024 16:36:31 +0800
Subject: [PATCH 1/3] [X86_64] Fix empty field error in vaarg of C++.
Such struct
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/101639
>From 3ff5909e6c0cc7acff96ed4e8524a3b5949b209f Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Fri, 2 Aug 2024 16:36:31 +0800
Subject: [PATCH 1/3] [X86_64] Fix empty field error in vaarg of C++.
Such struct
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/101639
>From 3ff5909e6c0cc7acff96ed4e8524a3b5949b209f Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Fri, 2 Aug 2024 16:36:31 +0800
Subject: [PATCH 1/2] [X86_64] Fix empty field error in vaarg of C++.
Such struct
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/101639
>From a1d5fffca7b8a63efa338f1aeac3a516145ca569 Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Fri, 2 Aug 2024 16:36:31 +0800
Subject: [PATCH 1/2] [X86_64] Fix empty field error in vaarg of C++.
Such struct
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/101639
>From a1d5fffca7b8a63efa338f1aeac3a516145ca569 Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Fri, 2 Aug 2024 16:36:31 +0800
Subject: [PATCH 1/2] [X86_64] Fix empty field error in vaarg of C++.
Such struct
https://github.com/CoTinker edited
https://github.com/llvm/llvm-project/pull/101639
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/CoTinker edited
https://github.com/llvm/llvm-project/pull/101639
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -3124,26 +3124,76 @@ RValue X86_64ABIInfo::EmitVAArg(CodeGenFunction &CGF,
Address VAListAddr,
CGF.Builder.CreateStore(V, CGF.Builder.CreateStructGEP(Tmp, 1));
RegAddr = Tmp.withElementType(LTy);
- } else if (neededInt) {
-RegAddr = Address(CGF.Builder.CreateG
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/101639
>From a1d5fffca7b8a63efa338f1aeac3a516145ca569 Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Fri, 2 Aug 2024 16:36:31 +0800
Subject: [PATCH 1/2] [X86_64] Fix empty field error in vaarg of C++.
Such struct
@@ -3124,26 +3124,76 @@ RValue X86_64ABIInfo::EmitVAArg(CodeGenFunction &CGF,
Address VAListAddr,
CGF.Builder.CreateStore(V, CGF.Builder.CreateStructGEP(Tmp, 1));
RegAddr = Tmp.withElementType(LTy);
- } else if (neededInt) {
-RegAddr = Address(CGF.Builder.CreateG
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/101639
>From 328ae6052894eb45c4e7541dadf63a3a04540cda Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Fri, 2 Aug 2024 16:36:31 +0800
Subject: [PATCH 1/2] [X86_64] Fix empty field error in vaarg of C++.
Such struct
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/101639
>From 328ae6052894eb45c4e7541dadf63a3a04540cda Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Fri, 2 Aug 2024 16:36:31 +0800
Subject: [PATCH 1/2] [X86_64] Fix empty field error in vaarg of C++.
Such struct
@@ -3124,26 +3124,40 @@ RValue X86_64ABIInfo::EmitVAArg(CodeGenFunction &CGF,
Address VAListAddr,
CGF.Builder.CreateStore(V, CGF.Builder.CreateStructGEP(Tmp, 1));
RegAddr = Tmp.withElementType(LTy);
- } else if (neededInt) {
-RegAddr = Address(CGF.Builder.CreateG
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/101639
>From 328ae6052894eb45c4e7541dadf63a3a04540cda Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Fri, 2 Aug 2024 16:36:31 +0800
Subject: [PATCH 1/2] [X86_64] Fix empty field error in vaarg of C++.
Such struct
CoTinker wrote:
Ping~
https://github.com/llvm/llvm-project/pull/101639
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/CoTinker edited
https://github.com/llvm/llvm-project/pull/101639
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
CoTinker wrote:
I don't know, but maybe Eli can give you an answer.
https://github.com/llvm/llvm-project/pull/86388
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/CoTinker created
https://github.com/llvm/llvm-project/pull/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, th
https://github.com/CoTinker closed
https://github.com/llvm/llvm-project/pull/90389
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/CoTinker closed
https://github.com/llvm/llvm-project/pull/86388
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
CoTinker wrote:
Could you please take time to review it, thank you. @efriedma-quic
https://github.com/llvm/llvm-project/pull/86388
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/CoTinker edited
https://github.com/llvm/llvm-project/pull/86388
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/86388
>From 54f75d7068d0acf336d6d1e61bcf800ff52cc310 Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Sat, 23 Mar 2024 17:53:58 +0800
Subject: [PATCH] [X86_32] fix 0 sized struct case in vaarg.
struct SuperEmpty {
CoTinker wrote:
Inconsistency here is inevitable.
Such struct `SuperEmpty { struct{ int a[0];} b;}` in c++ mode can not be
ignored in i386 for that c++ fields are never empty, and its TypeInfo.Width =
TypeInfo.Align = 0.
https://github.com/llvm/llvm-project/blob/594989918bf9e178f3b7c5e200d700d0
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/90389
>From 1ce3de25b4ad1e6254eec5e84bf29816aafca6fb Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Sun, 28 Apr 2024 17:14:29 +0800
Subject: [PATCH] [X86_64] Fix empty field error in vaarg of C++.
Such struct typ
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/90389
>From db18c52f8fd5f397324505bcb2e07343794e5dce Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Sun, 28 Apr 2024 17:14:29 +0800
Subject: [PATCH] [X86_64] Fix empty field error in vaarg of C++.
Such struct typ
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/90389
>From 3c1aac31d879ebf172d2b9b6c9a351d967f72606 Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Sun, 28 Apr 2024 17:14:29 +0800
Subject: [PATCH] [X86_64] Fix empty field error in vaarg of C++.
Such struct typ
https://github.com/CoTinker created
https://github.com/llvm/llvm-project/pull/90389
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
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/86902
>From eb425dbaed73a58b5f8e05e425a1972aa1288fa9 Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Fri, 15 Mar 2024 20:50:54 +0800
Subject: [PATCH] [X86_64] fix arg pass error in struct.
In some struct like s67,
@@ -2100,8 +2100,12 @@ void X86_64ABIInfo::classify(QualType Ty, uint64_t
OffsetBase, Class &Lo,
postMerge(Size, Lo, Hi);
return;
}
+
+ bool InMemory = Offset % getContext().getTypeAlign(i->getType()) ||
+ (i->getType()->getAs()
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/86075
>From 85d829dcef3484892d6db8f6a0329cb9bc34c349 Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Thu, 21 Mar 2024 11:23:56 +0800
Subject: [PATCH] [X86_32] Teach X86_32 va_arg to ignore empty structs.
Empty str
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/86075
>From 95a11789d89a57cc96512bd180949164f89695d0 Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Thu, 21 Mar 2024 11:23:56 +0800
Subject: [PATCH] [X86_32] Teach X86_32 va_arg to ignore empty structs.
Empty str
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/86075
>From 355f540288d87ca35a8e5790e4eaff383d619201 Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Thu, 21 Mar 2024 11:23:56 +0800
Subject: [PATCH] [X86_32] Teach X86_32 va_arg to ignore empty structs.
Empty str
CoTinker wrote:
Thank you very much, I'll try it.
https://github.com/llvm/llvm-project/pull/86902
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/86902
>From 09596bbeeedecb312f8be40d153bb267abc2d659 Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Fri, 15 Mar 2024 20:50:54 +0800
Subject: [PATCH] [X86_64] fix arg pass error in struct.
In some struct like s67,
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/86075
>From a4d9a6fefdbe7c0ee6a891af230438a10ddd7c5a Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Thu, 21 Mar 2024 11:23:56 +0800
Subject: [PATCH] [X86_32] Teach X86_32 va_arg to ignore empty structs.
Empty str
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/86075
>From 929fba43012209b74b654b8d9a017a43826063fe Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Thu, 21 Mar 2024 11:23:56 +0800
Subject: [PATCH] [X86_32] Teach X86_32 va_arg to ignore empty structs.
Empty str
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/86075
>From 5178a001cc3ce765e3d29e91e24597fa1b0f42d6 Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Thu, 21 Mar 2024 11:23:56 +0800
Subject: [PATCH] [X86_32] Teach X86_32 va_arg to ignore empty structs.
Empty str
CoTinker wrote:
@DavidSpickett why my buildkite always fail, while check-all success in local
environment. Could you please take a look at it?
https://github.com/llvm/llvm-project/pull/86902
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http
https://github.com/CoTinker created
https://github.com/llvm/llvm-project/pull/86902
```
typedef long long t67 __attribute__((aligned (4)));
struct s67 {
int a;
t67 b;
};
void f67(struct s67 x) {
}
```
When classify:
a: Lo = Integer, Hi = NoClass
b: Lo = Integer, Hi = NoClass
struct S: Lo = I
https://github.com/CoTinker closed
https://github.com/llvm/llvm-project/pull/85394
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/85394
>From ad805988f682030cd3ed6ff6b063488ed6f5707c Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Fri, 15 Mar 2024 20:50:54 +0800
Subject: [PATCH] [X86_64] fix arg pass error in struct.
In some struct like s67,
https://github.com/CoTinker edited
https://github.com/llvm/llvm-project/pull/86388
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -21,3 +21,18 @@ empty empty_record_test(int z, ...) {
__builtin_va_start(list, z);
return __builtin_va_arg(list, empty);
}
+
CoTinker wrote:
done
https://github.com/llvm/llvm-project/pull/86377
___
cfe-commit
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/86377
>From b494f2e7f59668678f95d4a739d810f6fd6944aa Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Sat, 23 Mar 2024 11:52:04 +0800
Subject: [PATCH] [X86_64] fix SSE type error in vaarg.
tweak the position of the
https://github.com/CoTinker edited
https://github.com/llvm/llvm-project/pull/86388
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/CoTinker edited
https://github.com/llvm/llvm-project/pull/86388
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/86388
>From 8752d9019851bd231f1777d20391af60f0b4365c Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Sat, 23 Mar 2024 17:53:58 +0800
Subject: [PATCH] [X86_32] fix 0 sized struct case in vaarg.
struct SuperEmpty {
https://github.com/CoTinker edited
https://github.com/llvm/llvm-project/pull/86388
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/CoTinker created
https://github.com/llvm/llvm-project/pull/86388
struct SuperEmpty { struct{ int a[0];} b;};
Such 0 sized structs in c++ mode can not be ignored in i386 for that c++ fields
are never empty.But when EmitVAArg, its size is 0, so that va_list not
increase.Maybe
https://github.com/CoTinker created
https://github.com/llvm/llvm-project/pull/86377
tweak the position of the ++neededSSE when Lo is NoClass and Hi is SSE. Fix
#86371.
>From 551d1cd574cdf66a73dbe4e384a21949013e0baa Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Sat, 23 Mar 2024 11:52:04 +
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/85394
>From 07e8b31dbe6eaa1a385d52160bf1913c9fa1c17e Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Fri, 15 Mar 2024 20:50:54 +0800
Subject: [PATCH] [X86_64] fix arg pass error in struct.
In some struct like s67,
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/85394
>From 57cdbcab4ad13441a3f8731c4cdedc51acfbc7b1 Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Fri, 15 Mar 2024 20:50:54 +0800
Subject: [PATCH] [X86_64] fix arg pass error in struct.
typedef long long ll __a
@@ -1069,6 +1069,10 @@ Address X86_32ABIInfo::EmitVAArg(CodeGenFunction &CGF,
auto TypeInfo = getContext().getTypeInfoInChars(Ty);
+ // Empty records are ignored for parameter passing purposes on non-Windows.
+ if (!IsWin32StructABI && isEmptyRecord(getContext(), Ty, true
CoTinker wrote:
Which is more appropriate to pass this structure through, memory or register?
https://github.com/llvm/llvm-project/pull/85394
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-co
https://github.com/CoTinker created
https://github.com/llvm/llvm-project/pull/86075
Empty structs are ignored for parameter passing purposes, but va_arg was
incrementing the pointer anyway for that the size of empty struct in c++ is 1
byte, which could lead to va_list getting out of sync. Fix
CoTinker wrote:
Thanks, I'll modify it according to this.
https://github.com/llvm/llvm-project/pull/85394
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/85394
>From d344d20883a73ef1d273a4b74eb1b5df2893041e Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Fri, 15 Mar 2024 20:50:54 +0800
Subject: [PATCH] [X86_64] fix arg pass error in struct.
typedef long long ll __a
CoTinker wrote:
ping~
https://github.com/llvm/llvm-project/pull/77907
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/85394
>From 57760b2bfe87c689030975d5914393fd29d7d1f5 Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Fri, 15 Mar 2024 20:50:54 +0800
Subject: [PATCH] [X86_64] fix arg pass error in struct.
typedef long long ll __a
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/85394
>From 1ca19591fa11a53559fdfe7e4bf6b298b7658628 Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Fri, 15 Mar 2024 20:50:54 +0800
Subject: [PATCH] [X86_64] fix arg pass error in struct.
typedef long long alignl
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/85394
>From be6b4bdd75554b9287092ab42063a9d4e260dd9c Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Fri, 15 Mar 2024 20:50:54 +0800
Subject: [PATCH] [X86_64] fix arg pass error in struct.
typedef long long alignl
https://github.com/CoTinker edited
https://github.com/llvm/llvm-project/pull/85394
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/CoTinker edited
https://github.com/llvm/llvm-project/pull/85394
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/85394
>From b31780cba73ea39bf7f630a059a554914d804446 Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Fri, 15 Mar 2024 20:50:54 +0800
Subject: [PATCH] [X86_64] fix arg pass error in struct.
typedef long long Alignl
https://github.com/CoTinker edited
https://github.com/llvm/llvm-project/pull/85394
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/CoTinker updated
https://github.com/llvm/llvm-project/pull/85394
>From 30d8d0490b383b8b52fee7d8ddd591f8ed5b585e Mon Sep 17 00:00:00 2001
From: Longsheng Mou
Date: Fri, 15 Mar 2024 20:50:54 +0800
Subject: [PATCH] [X86_64] fix arg pass error in struct.
typedef long long Alignl
https://github.com/CoTinker edited
https://github.com/llvm/llvm-project/pull/85394
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/CoTinker edited
https://github.com/llvm/llvm-project/pull/85394
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/CoTinker created
https://github.com/llvm/llvm-project/pull/85394
typedef long long Alignll __attribute__((align (4))); struct S {
int a;
Alignll b;
};
When classify:
a: Lo = Integer, Hi = NoClass
b: Lo = Integer, Hi = NoClass
struct S: Lo = Integer, Hi = NoClass
In this
@@ -3014,6 +3014,16 @@ Address X86_64ABIInfo::EmitVAArg(CodeGenFunction &CGF,
Address VAListAddr,
ABIArgInfo AI = classifyArgumentType(Ty, 0, neededInt, neededSSE,
/*isNamedArg*/false);
+ // Empty records are ignored for parameter pas
CoTinker wrote:
I've revised it. Can you check it again? @phoebewang
https://github.com/llvm/llvm-project/pull/77907
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
CoTinker wrote:
> I checked it locally, the patch doesn't fix the reported problem:
>
> ```
> $ clang pr77036.cpp && ./a.out
> -nan
> Fail
> ```
It seems that `struct S14{}` is empty record, but `struct S14 { union{}a;}` is
not.
https://github.com/llvm/llvm-project/pull/77907
___
CoTinker wrote:
> I checked it locally, the patch doesn't fix the reported problem:
>
> ```
> $ clang pr77036.cpp && ./a.out
> -nan
> Fail
> ```
isEmptyRecord return false here, I am checking it.
https://github.com/llvm/llvm-project/pull/77907
___
cf
@@ -2989,6 +2989,11 @@ static Address EmitX86_64VAArgFromMemory(CodeGenFunction
&CGF,
// an 8 byte boundary.
uint64_t SizeInBytes = (CGF.getContext().getTypeSize(Ty) + 7) / 8;
+
+ if (isEmptyRecord(CGF.getContext(), Ty, true)) {
+SizeInBytes = 0;
+ }
+
-
77 matches
Mail list logo