re PR fortran/79894 (ICE in gfc_add_modify_loc, at fortran/trans.c:159)

2017-03-06  Richard Biener  <rguenther@suse.de>

	PR fortran/79894
	* trans.c (gfc_add_modify_loc): Weaken assert.

From-SVN: r245919
This commit is contained in:
Richard Biener 2017-03-06 12:48:54 +00:00 committed by Richard Biener
parent 6cc61b5a37
commit 1b31fca70f
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2017-03-06 Richard Biener <rguenther@suse.de>
PR fortran/79894
* trans.c (gfc_add_modify_loc): Weaken assert.
2017-03-05 Andre Vehreschild <vehre@gcc.gnu.org>,
Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>

View File

@ -151,11 +151,11 @@ gfc_add_modify_loc (location_t loc, stmtblock_t * pblock, tree lhs, tree rhs)
tree t1, t2;
t1 = TREE_TYPE (rhs);
t2 = TREE_TYPE (lhs);
/* Make sure that the types of the rhs and the lhs are the same
/* Make sure that the types of the rhs and the lhs are compatible
for scalar assignments. We should probably have something
similar for aggregates, but right now removing that check just
breaks everything. */
gcc_checking_assert (t1 == t2
gcc_checking_assert (TYPE_MAIN_VARIANT (t1) == TYPE_MAIN_VARIANT (t2)
|| AGGREGATE_TYPE_P (TREE_TYPE (lhs)));
tmp = fold_build2_loc (loc, MODIFY_EXPR, void_type_node, lhs,