aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2025-01-28 16:20:30 +0100
committerRichard Biener <rguenth@gcc.gnu.org>2025-01-28 16:50:07 +0100
commit54bdeca3c6214485d15454df30183a56ad3e473b (patch)
treed8c284208420e802cb43f58779f096f4a27d1fd5 /libgcc
parent50c37516958319e10a137d2b3dba7b070523248a (diff)
downloadgcc-54bdeca3c6214485d15454df30183a56ad3e473b.zip
gcc-54bdeca3c6214485d15454df30183a56ad3e473b.tar.gz
gcc-54bdeca3c6214485d15454df30183a56ad3e473b.tar.bz2
middle-end/118684 - wrongly aligned stack local during expansion
The following fixes a not properly aligned stack temporary created during RTL expansion of a MEM_REF that we handle as a BIT_FIELD_REF whose base was allocated to a register but which was originally aligned to allow a larger load not trapping. While probably UB in C the vectorizer creates aligned accesses that might overread a (static) allocation because it is then known not to trap. PR middle-end/118684 * expr.cc (expand_expr_real_1): When expanding a reference based on a register and we end up needing a MEM make sure that's aligned as the original reference required. * gcc.dg/pr118684.c: New testcase.
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions