projects
/
scc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ac81b38
)
Fix i386 narrowing casts of 64-bit struct members
author
Robert Pengelly
<robertapengelly@hotmail.com>
Mon, 28 Sep 2026 04:37:36 +0000
(
05:37
+0100)
committer
Robert Pengelly
<robertapengelly@hotmail.com>
Mon, 28 Sep 2026 04:37:36 +0000
(
05:37
+0100)
i386.c
patch
|
blob
|
history
diff --git
a/i386.c
b/i386.c
index bcdc45e88bd169da504d56179defd7b0cca28a27..49d11c45546fd751a23d966c7e4145234052c6e9 100644
(file)
--- a/
i386.c
+++ b/
i386.c
@@
-18581,6
+18581,14
@@
static void emit_load_assignment_rhs_to_reg (const char *reg) {
} else {
+ if (postfix_member_seen && postfix_member_pointer_depth == 0 && postfix_member_size == (DATA_LLONG & 0x1f) &&
+ cast_base_size <= (DATA_PTR & 0x1f) && !postfix_member_is_floating) {
+
+ emit_load_deref_reg_now (reg, DATA_INT & 0x1f);
+ postfix_member_size = DATA_INT & 0x1f;
+
+ }
+
emit_apply_integer_cast_to_reg_now (reg, cast_base_size, cast_is_unsigned);
clear_rhs_last_pointer_info ();