History

Always set *palign in classify_x86_64_arg

Set *palign for VT_BITFIELD and VT_ARRAY types in classify_x86_64_arg as else you happen to have in *palign what was already there. This can cause gfunc_call on !PE systems to consider an array as 16 bytes align and trigger the assert if the previous argument was 16 bytes aligned.

Thomas Preud'homme committed 12 years ago

Commit 59b80071 parent fbc88101 file · +1 −0Browse files

Unified · Split

x86_64-gen.c+1−0
@@ -993,6 +993,7 @@ static X86_64_Mode classify_x86_64_arg(CType *ty, CType *ret, int *psize, int *p · 992 unmodified lines
993 993
994 if (ty->t & (VT_BITFIELD|VT_ARRAY)) {994 if (ty->t & (VT_BITFIELD|VT_ARRAY)) {
995 *psize = 8;995 *psize = 8;
996 *palign = 8;
996 *reg_count = 1;997 *reg_count = 1;
997 ret_t = ty->t;998 ret_t = ty->t;
998 mode = x86_64_mode_integer;999 mode = x86_64_mode_integer;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t