Fortran: Escalate failure when Hollerith constant to real conversion fails
gcc/fortran/
PR target/103628
* target-memory.cc (gfc_interpret_float): Return FAIL when
native_interpret_expr gets a NULL tree.
* arith.cc (gfc_hollerith2real): Return NULL when
gfc_interpret_float fails.
* error.cc (gfc_buffered_p): Define.
* gfortran.h (gfc_buffered_p): Declare.
* intrinsic.cc: Add diagnostic.h to include list.
(do_simplify): Save errorcount and check it at finish. Report a
"Cannot simplify expression" error on a bad result if error count
doesn't change and no other errors buffered.
gcc/testsuite/
PR target/103628
* gfortran.dg/assumed_size_refs_2.f90: Check "Cannot simplify
expression" error.
* gfortran.dg/unpack_field_1.f90: Likewise.
* gfortran.dg/pr103628.f90: New.
Co-Authored-By:
Tobias Burnus <tobias@codesourcery.com>
Showing
- gcc/fortran/arith.cc 6 additions, 4 deletionsgcc/fortran/arith.cc
- gcc/fortran/error.cc 7 additions, 0 deletionsgcc/fortran/error.cc
- gcc/fortran/gfortran.h 1 addition, 0 deletionsgcc/fortran/gfortran.h
- gcc/fortran/intrinsic.cc 8 additions, 1 deletiongcc/fortran/intrinsic.cc
- gcc/fortran/target-memory.cc 7 additions, 4 deletionsgcc/fortran/target-memory.cc
- gcc/testsuite/gfortran.dg/assumed_size_refs_2.f90 2 additions, 0 deletionsgcc/testsuite/gfortran.dg/assumed_size_refs_2.f90
- gcc/testsuite/gfortran.dg/pr103628.f90 14 additions, 0 deletionsgcc/testsuite/gfortran.dg/pr103628.f90
- gcc/testsuite/gfortran.dg/unpack_field_1.f90 2 additions, 0 deletionsgcc/testsuite/gfortran.dg/unpack_field_1.f90
Loading
Please register or sign in to comment