diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2006-04-29 14:25:42 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2006-04-29 07:25:42 -0700 |
commit | c69a7fb7a6c969ff242f8ba82c52cd330e290363 (patch) | |
tree | a1328cbe3ee48b6fecc3046bd5323dba07a67848 /gcc/fortran/trans-array.c | |
parent | 23bc3a894d2e6e62f47e853c02388787142c633b (diff) | |
download | gcc-c69a7fb7a6c969ff242f8ba82c52cd330e290363.zip gcc-c69a7fb7a6c969ff242f8ba82c52cd330e290363.tar.gz gcc-c69a7fb7a6c969ff242f8ba82c52cd330e290363.tar.bz2 |
re PR fortran/27351 (Use variable after free in gfc_conv_array_transpose)
2006-04-29 H.J. Lu <hongjiu.lu@intel.com>
PR fortran/27351
* trans-array.c (gfc_conv_array_transpose): Move gcc_assert
before gfc_conv_expr_descriptor.
From-SVN: r113375
Diffstat (limited to 'gcc/fortran/trans-array.c')
-rw-r--r-- | gcc/fortran/trans-array.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index fcd2223..a5042ea 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -702,6 +702,8 @@ gfc_conv_array_transpose (gfc_se * se, gfc_expr * expr) src_info = &src_ss->data.info; dest_info = &dest_ss->data.info; + gcc_assert (dest_info->dimen == 2); + gcc_assert (src_info->dimen == 2); /* Get a descriptor for EXPR. */ gfc_init_se (&src_se, NULL); @@ -722,8 +724,6 @@ gfc_conv_array_transpose (gfc_se * se, gfc_expr * expr) /* Copy the dimension information, renumbering dimension 1 to 0 and 0 to 1. */ - gcc_assert (dest_info->dimen == 2); - gcc_assert (src_info->dimen == 2); for (n = 0; n < 2; n++) { dest_info->delta[n] = gfc_index_zero_node; |