[Bug libstdc++/93121] std::bit_cast missing
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jul 20 08:25:05 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93121
--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:e4f1cbc35b1e823a0a6e58eeca61c8c6ca351875
commit r11-2225-ge4f1cbc35b1e823a0a6e58eeca61c8c6ca351875
Author: Jakub Jelinek <jakub@redhat.com>
Date: Mon Jul 20 10:24:19 2020 +0200
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.
More information about the Gcc-bugs
mailing list