re PR middle-end/30147 (ICE in fold_convert with -O2)

2006-12-12  Richard Guenther  <rguenther@suse.de>

	PR middle-end/30147
	* fold-const.c (fold_read_from_constant_string): Only fold read
	from constant string if the result type is integer.

	* gfortran.fortran-torture/compile/pr30147.f90: New testcase.

From-SVN: r119776
This commit is contained in:
Richard Guenther 2006-12-12 12:13:48 +00:00 committed by Richard Biener
parent 527a08917e
commit 8e3dc7a344
4 changed files with 28 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2006-12-12 Richard Guenther <rguenther@suse.de>
PR middle-end/30147
* fold-const.c (fold_read_from_constant_string): Only fold read
from constant string if the result type is integer.
2006-12-12 Olivier Hainque <hainque@adacore.com>
* config/rs6000/t-vxworks: Remove assignment to LIB2FUNCS_EXTRA.

View file

@ -12726,7 +12726,9 @@ fold_unary_to_constant (enum tree_code code, tree type, tree op0)
tree
fold_read_from_constant_string (tree exp)
{
if (TREE_CODE (exp) == INDIRECT_REF || TREE_CODE (exp) == ARRAY_REF)
if ((TREE_CODE (exp) == INDIRECT_REF
|| TREE_CODE (exp) == ARRAY_REF)
&& TREE_CODE (TREE_TYPE (exp)) == INTEGER_TYPE)
{
tree exp1 = TREE_OPERAND (exp, 0);
tree index;

View file

@ -1,3 +1,8 @@
2006-12-12 Richard Guenther <rguenther@suse.de>
PR middle-end/30147
* gfortran.fortran-torture/compile/pr30147.f90: New testcase.
2006-12-11 Aldy Hernandez <aldyh@redhat.com>
Diego Novillo <dnovillo@redhat.com>

View file

@ -0,0 +1,14 @@
MODULE input_cp2k_motion
IMPLICIT NONE
interface
SUBROUTINE keyword_create(variants)
CHARACTER(len=*), DIMENSION(:), &
INTENT(in) :: variants
end subroutine
end interface
CONTAINS
SUBROUTINE create_neb_section()
CALL keyword_create(variants=(/"K"/))
END SUBROUTINE create_neb_section
END MODULE input_cp2k_motion