re PR fortran/32222 (ICE in gfc_trans_assignment_1)
authorLee Millward <lee.millward@gmail.com>
Mon, 16 Jul 2007 19:12:44 +0000 (19:12 +0000)
committerLee Millward <lmillward@gcc.gnu.org>
Mon, 16 Jul 2007 19:12:44 +0000 (19:12 +0000)
commit55637e51b5d81cd3ceb51ec5d236a745e41c7bbc
tree5374b6beff2b442a1f414fcd12122025a91ccdf6
parentd56b9f12225da2bdee2c3b2b5da3a1482784ce36
re PR fortran/32222 (ICE in gfc_trans_assignment_1)

PR fortran/32222
PR fortran/32238
PR fortran/32242
* trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust
to operate on a stack allocated array for the intrinsic arguments
instead of creating a TREE_LIST. Add two new parameters for the
array and the number of elements. Update all callers to allocate
an array of the correct length to pass in. Update comment.
(gfc_intrinsic_argument_list_length): New function.
(gfc_conv_intrinsic_conversion): Call it.
(gfc_conv_intrinsic_mnimax): Likewise.
(gfc_conv_intrinsic_merge): Likewise.
(gfc_conv_intrinsic_lib_function): Call it. Use new CALL_EXPR
constructors.
(gfc_conv_intrinsic_cmplx): Likewise.
(gfc_conv_intrinsic_ctime): Likewise.
(gfc_covn_intrinsic_fdate): Likewise.
(gfc_conv_intrinsic_ttynam): Likewise.
(gfc_conv_intrinsic_ishftc): Likewise.
(gfc_conv_intrinsic_index): Likewise.
(gfc_conv_intrinsic_scan): Likewise.
(gfc_conv_intrinsic_verify): Likewise.
(gfc_conv_intrinsic_trim): Likewise.
(gfc_conv_intrinsic_aint): Use new CALL_EXPR constructors.
(gfc_conv_intrinsic_exponent): Likewise.
(gfc_conv_intrinsic_bound): Likewise.
(gfc_conv_intrinsic_abs): Likewise.
(gfc_conv_intrinsic_mod): Likewise.
(gfc_conv_intrinsic_sign): Likewise.
(gfc_conv_intrinsic_len): Likewise.
(gfc_conv_intrinsic_adjust): Likewise.
(gfc_conv_intrinsic_si_kind): Likewise.

* gfortran.dg/cmplx_intrinsic_1.f90: New test.

PR fortran/32238
* gfortran.dg/pr32238.f90: New test.

PR fortran/32222
* gfortran.dg/pr32222.f90: New test.

PR fortran/32242
* gfortran.dg/pr32242.f90: New test.

From-SVN: r126689
gcc/fortran/ChangeLog
gcc/fortran/trans-intrinsic.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/cmplx_intrinsic_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/pr32222.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/pr32238.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/pr32242.f90 [new file with mode: 0644]