diff options
author | Richard Biener <rguenther@suse.de> | 2016-05-09 07:42:45 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2016-05-09 07:42:45 +0000 |
commit | 7a27d38f4e63f2bbfebe046be2d7097d11b24e50 (patch) | |
tree | b8a8c041c76eadbdb6ce259e32a4d7d0b648c2e2 /gcc/fortran/trans-decl.c | |
parent | e6dffc988a5d7ce5b375ec96d2d1b95f775e0ec6 (diff) | |
download | gcc-7a27d38f4e63f2bbfebe046be2d7097d11b24e50.zip gcc-7a27d38f4e63f2bbfebe046be2d7097d11b24e50.tar.gz gcc-7a27d38f4e63f2bbfebe046be2d7097d11b24e50.tar.bz2 |
re PR fortran/70937 (ICE: tree code ‘ssa_name’ is not supported in LTO streams)
2016-05-09 Richard Biener <rguenther@suse.de>
PR fortran/70937
* trans-decl.c: Include gimplify.h for unshare_expr.
(gfc_trans_vla_one_sizepos): Unshare exprs before inserting
them into the IL.
* gfortran.dg/pr70937.f90: New testcase.
From-SVN: r236021
Diffstat (limited to 'gcc/fortran/trans-decl.c')
-rw-r--r-- | gcc/fortran/trans-decl.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c index d4ea6c8..2f5e434 100644 --- a/gcc/fortran/trans-decl.c +++ b/gcc/fortran/trans-decl.c @@ -45,6 +45,7 @@ along with GCC; see the file COPYING3. If not see /* Only for gfc_trans_code. Shouldn't need to include this. */ #include "trans-stmt.h" #include "gomp-constants.h" +#include "gimplify.h" #define MAX_LABEL_VALUE 99999 @@ -3754,7 +3755,7 @@ gfc_trans_vla_one_sizepos (tree *tp, stmtblock_t *body) var = gfc_create_var_np (TREE_TYPE (t), NULL); gfc_add_decl_to_function (var); - gfc_add_modify (body, var, val); + gfc_add_modify (body, var, unshare_expr (val)); if (TREE_CODE (t) == SAVE_EXPR) TREE_OPERAND (t, 0) = var; *tp = var; |