diff options
author | Jakub Jelinek <jakub@redhat.com> | 2020-11-26 10:51:51 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2020-11-26 10:51:51 +0100 |
commit | a386566118054e08bb733f1248649fb6847c407e (patch) | |
tree | 3fb332683d5f0f66a34bce27642717610328d715 /gcc/gimple-isel.cc | |
parent | 39f5e9aded23e8b7e0e7080fc6020478b9c5b7b5 (diff) | |
download | gcc-a386566118054e08bb733f1248649fb6847c407e.zip gcc-a386566118054e08bb733f1248649fb6847c407e.tar.gz gcc-a386566118054e08bb733f1248649fb6847c407e.tar.bz2 |
gimple-fold: Use DECL_PADDING_P in __builtin_clear_padding
On Wed, Nov 25, 2020 at 12:26:17PM -0500, Jason Merrill wrote:
> I think you want to check DECL_PADDING_P here; the C and C++ front ends set
> it on unnamed bit-fields, and that's what is_empty_type looks at.
While the above has been written in the context of __builtin_bit_cast patch,
I think it applies to __builtin_clear_padding too.
So this patch implements that. The C FE sets DECL_PADDING_P solely on the
DECL_BIT_FIELD !DECL_NAME FIELD_DECLs, the C++ FE sets it on those and in
another spot I haven't really figured out what it is about.
2020-11-26 Jakub Jelinek <jakub@redhat.com>
* gimple-fold.c (clear_padding_union): Ignore DECL_PADDING_P
fields.
(clear_padding_type): Ignore DECL_PADDING_P fields, rather than
DECL_BIT_FIELD with NULL DECL_NAME.
Diffstat (limited to 'gcc/gimple-isel.cc')
0 files changed, 0 insertions, 0 deletions