From 2c703f3a6a2a283318a0678fc8a5eba27b6663df Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 12 May 2011 13:54:33 +0200 Subject: re PR debug/48967 (ICE during use_narrower_mode) PR debug/48967 * var-tracking.c (use_narrower_mode_test) : Return 1 if validate_subreg fails. * g++.dg/opt/pr48967.C: New test. From-SVN: r173701 --- gcc/var-tracking.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'gcc/var-tracking.c') diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index 9041112..278f546 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -745,6 +745,10 @@ use_narrower_mode_test (rtx *loc, void *data) case REG: if (cselib_lookup (*loc, GET_MODE (SUBREG_REG (subreg)), 0, VOIDmode)) return 1; + if (!validate_subreg (GET_MODE (subreg), GET_MODE (*loc), + *loc, subreg_lowpart_offset (GET_MODE (subreg), + GET_MODE (*loc)))) + return 1; return -1; case PLUS: case MINUS: -- cgit v1.1