diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2024-10-19 10:26:17 +0200 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2024-10-19 10:26:17 +0200 |
commit | 4f9b1735ab5eaf93d07d65c81d83cd123a8f3478 (patch) | |
tree | 25d8228312802381048d7c6afaffbf78a4e154d0 /gcc | |
parent | 04b4a5e4866daa7b6f4a4a3e7ed1a23f7787841d (diff) | |
download | gcc-4f9b1735ab5eaf93d07d65c81d83cd123a8f3478.zip gcc-4f9b1735ab5eaf93d07d65c81d83cd123a8f3478.tar.gz gcc-4f9b1735ab5eaf93d07d65c81d83cd123a8f3478.tar.bz2 |
Fix an ICE with UNSIGNED in match_sym_complex_part.
gcc/fortran/ChangeLog:
PR fortran/117225
* primary.cc (match_sym_complex_part): An UNSIGNED in
a complex part is an error.
gcc/testsuite/ChangeLog:
PR fortran/117225
* gfortran.dg/unsigned_38.f90: New test.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/primary.cc | 3 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/unsigned_38.f90 | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/fortran/primary.cc b/gcc/fortran/primary.cc index c11359a..e114bf1 100644 --- a/gcc/fortran/primary.cc +++ b/gcc/fortran/primary.cc @@ -1471,6 +1471,9 @@ match_sym_complex_part (gfc_expr **result) goto error; break; + case BT_UNSIGNED: + goto error; + default: gfc_internal_error ("gfc_match_sym_complex_part(): Bad type"); } diff --git a/gcc/testsuite/gfortran.dg/unsigned_38.f90 b/gcc/testsuite/gfortran.dg/unsigned_38.f90 new file mode 100644 index 0000000..0d169ac --- /dev/null +++ b/gcc/testsuite/gfortran.dg/unsigned_38.f90 @@ -0,0 +1,6 @@ +! { dg-do compile } +! { dg-options "-funsigned" } +program main + unsigned, parameter :: u = 7u + print *,mod(-(u+1u),u) +end program main |