aboutsummaryrefslogtreecommitdiff
path: root/libgfortran/runtime
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2021-01-15 13:48:42 -0800
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2021-01-15 13:48:42 -0800
commitb90e4a97419ce91fd7c1628b5912e8f54bee3441 (patch)
tree1807faef01186a476a9229245048bc0af4454eeb /libgfortran/runtime
parent9beb6d88effdab4209beb8bc5e4b8773317f1d33 (diff)
downloadgcc-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.c3
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
{