diff options
author | Iain Buclaw <ibuclaw@gdcproject.org> | 2020-06-01 13:27:06 +0200 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gdcproject.org> | 2020-06-02 09:33:51 +0200 |
commit | 70f6320462d91e5add99ae5b50226356302a8c0b (patch) | |
tree | 232915ce57fdf3666e878c1b8d317fe2ac0a5f80 /gcc/config.gcc | |
parent | 9a8bac4d7e7209a1fef96a077c80bb2416aac6ce (diff) | |
download | gcc-70f6320462d91e5add99ae5b50226356302a8c0b.zip gcc-70f6320462d91e5add99ae5b50226356302a8c0b.tar.gz gcc-70f6320462d91e5add99ae5b50226356302a8c0b.tar.bz2 |
d: Fix segfault in build_frontend_type on alpha-*-*
The va_list type for Alpha includes a nameless dummy field for alignment
purposes. To transpose this into D, a field named "__pad%d" is inserted
into the struct definition.
It was also noticed that in the D front-end AST copy of the backend
type, all offsets for fields generated by build_frontend_type were set
to zero due to a wrong assumption that DECL_FIELD_OFFSET would have a
non-zero value. This has been fixed to use byte_position instead.
gcc/d/ChangeLog:
* d-builtins.cc (build_frontend_type): Handle struct fields with NULL
DECL_NAME. Use byte_position to get the real field offset.
Diffstat (limited to 'gcc/config.gcc')
0 files changed, 0 insertions, 0 deletions