This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Fix PR middle-end/20030, fold_indirect_ref and non zero lower bounds
- From: Andrew Pinski <pinskia at physics dot uc dot edu>
- To: Richard Henderson <rth at redhat dot com>, Roger Sayle <roger at eyesopen dot com>
- Cc: gcc-patches Patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 17 Feb 2005 13:44:13 -0500
- Subject: Re: [PATCH] Fix PR middle-end/20030, fold_indirect_ref and non zero lower bounds
- References: <firstname.lastname@example.org> <20050217182604.GB7595@redhat.com>
On Feb 17, 2005, at 1:26 PM, Richard Henderson wrote:
On Thu, Feb 17, 2005 at 12:44:37PM -0500, Andrew Pinski wrote:
- return build4 (ARRAY_REF, type, op, size_zero_node, NULL_TREE,
+ tree min_val = TYPE_MIN_VALUE (TYPE_DOMAIN (optype));
+ return build4 (ARRAY_REF, type, op, min_val, NULL_TREE,
TYPE_DOMAIN isn't always set. Neither is TYPE_MIN_VALUE.
You need to check for nulls and use zero.
Good point. I should have checked the documentation.
Bootstrapping and testing in process, ok if it passes?
* fold-const.c (fold_indirect_ref_1): Use the correct index for zero
the lower bound of the array type if it exists.
Description: Text document
Testcase (modified from the pervious one to be able to commit the
I was reminded that abort exists in gfortran):
character*1 a1, a2, b
x = LSAME(a1,a2)
if ( x.ne.1 ) then
call abort ();
logical function LSAME( CA, CB )
character CA, CB
integer INTA, INTB
INTA = ICHAR( CA )
INTB = ICHAR( CB )
LSAME = INTA.EQ.INTB