diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2021-01-15 13:48:42 -0800 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2021-01-15 13:48:42 -0800 |
commit | b90e4a97419ce91fd7c1628b5912e8f54bee3441 (patch) | |
tree | 1807faef01186a476a9229245048bc0af4454eeb /libgfortran/runtime | |
parent | 9beb6d88effdab4209beb8bc5e4b8773317f1d33 (diff) | |
download | gcc-b90e4a97419ce91fd7c1628b5912e8f54bee3441.zip gcc-b90e4a97419ce91fd7c1628b5912e8f54bee3441.tar.gz gcc-b90e4a97419ce91fd7c1628b5912e8f54bee3441.tar.bz2 |
fortran: Fixes a bug in ISO_Fortran_binding.c.
libgfortran/ChangeLog:
* runtime/ISO_Fortran_binding.c (CFI_establish): Fixed signed
char arrays. Signed char or uint8_t arrays would cause
crashes unless an element size is specified.
gcc/testsuite/ChangeLog:
* gfortran.dg/iso_fortran_binding_uint8_array.f90: New test.
* gfortran.dg/iso_fortran_binding_uint8_array_driver.c: New test.
Diffstat (limited to 'libgfortran/runtime')
-rw-r--r-- | libgfortran/runtime/ISO_Fortran_binding.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/libgfortran/runtime/ISO_Fortran_binding.c b/libgfortran/runtime/ISO_Fortran_binding.c index 86ff25a..3746ec1 100644 --- a/libgfortran/runtime/ISO_Fortran_binding.c +++ b/libgfortran/runtime/ISO_Fortran_binding.c @@ -345,8 +345,7 @@ int CFI_establish (CFI_cdesc_t *dv, void *base_addr, CFI_attribute_t attribute, dv->base_addr = base_addr; if (type == CFI_type_char || type == CFI_type_ucs4_char || - type == CFI_type_signed_char || type == CFI_type_struct || - type == CFI_type_other) + type == CFI_type_struct || type == CFI_type_other) dv->elem_len = elem_len; else { |