diff options
author | Jakub Jelinek <jakub@redhat.com> | 2020-07-20 10:24:19 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2020-07-20 10:24:19 +0200 |
commit | e4f1cbc35b1e823a0a6e58eeca61c8c6ca351875 (patch) | |
tree | baee51a3e02e958107cd446bb1587507df747e58 /gcc/expr.c | |
parent | 83b171655dc0785262a444f5d5c2be7195977987 (diff) | |
download | gcc-e4f1cbc35b1e823a0a6e58eeca61c8c6ca351875.zip gcc-e4f1cbc35b1e823a0a6e58eeca61c8c6ca351875.tar.gz gcc-e4f1cbc35b1e823a0a6e58eeca61c8c6ca351875.tar.bz2 |
gimple-fold: Handle bitfields in fold_const_aggregate_ref_1 [PR93121]
When working on __builtin_bit_cast that needs to handle bitfields too,
I've made the following change to handle at least some bitfields in
fold_const_aggregate_ref_1 (those that have integral representative).
It already handles some, but only those that start and end at byte
boundaries.
2020-07-20 Jakub Jelinek <jakub@redhat.com>
PR libstdc++/93121
* gimple-fold.c (fold_const_aggregate_ref_1): For COMPONENT_REF
of a bitfield not aligned on byte boundaries try to
fold_ctor_reference DECL_BIT_FIELD_REPRESENTATIVE if any and
adjust it depending on endianity.
* gcc.dg/tree-ssa/pr93121-2.c: New test.
Diffstat (limited to 'gcc/expr.c')
0 files changed, 0 insertions, 0 deletions