aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/openmp.cc
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2025-04-09 09:50:04 +0100
committerPaul Thomas <pault@gcc.gnu.org>2025-04-09 09:50:04 +0100
commitee65440cbd8042a5e5885e18bde70f8d530e4404 (patch)
tree0e4930420bf8f02289d886b643c1f2ab0cbadf82 /gcc/fortran/openmp.cc
parentfaff25435b0d23b2ac4deef5a9434c8cd098c0d2 (diff)
downloadgcc-ee65440cbd8042a5e5885e18bde70f8d530e4404.zip
gcc-ee65440cbd8042a5e5885e18bde70f8d530e4404.tar.gz
gcc-ee65440cbd8042a5e5885e18bde70f8d530e4404.tar.bz2
Fortran: Fix some problems with the reduce intrinsic [PR119460]
2025-04-09 Paul Thomas <pault@gcc.gnu.org> and Harald Anlauf <anlauf@gcc.gnu.org> gcc/fortran PR fortran/119460 * iresolve.cc (generate_reduce_op_wrapper): Increase the size of 'tname'. Change intent of 'a' and 'b' to intent_in. * trans-decl.cc (add_argument_checking): Do not test artificial formal symbols. * trans-expr.cc (gfc_conv_procedure_call): Remove reduce_scalar and the blocks triggered by it. * trans-intrinsic.cc (gfc_conv_intrinsic_function): Set the result of non-character, scalar reduce to be allocatable. gcc/testsuite/ PR fortran/119460 * gfortran.dg/reduce_2.f90: Add test to check that deferred len characters cannot slip through. * gfortran.dg/reduce_3.f90: New test * gfortran.dg/reduce_4.f90: New test libgfortran/ PR libfortran/119460 * intrinsics/reduce.c (reduce): Correct error message about mismatch between dim and the rank of array. Output the values of both. Correct the evaluation of the result stride and extent. (reduce_scalar): The front end treats the result as an allocatable so eliminate memcpy and free. Return the base-addr of the local descriptor. (reduce_c): Correct the type of the string lengths. (reduce_scalar_c): Correct the type of the string lengths.Test to see if 'res' is allocated. If not then return the base_addr of the local descriptor.
Diffstat (limited to 'gcc/fortran/openmp.cc')
0 files changed, 0 insertions, 0 deletions