Hi Wolfgang On Sat, 5 Nov 2011, Wolfgang Denk wrote:
> Fix: > ide.c: In function 'ide_preinit': > ide.c:69:21: warning: array subscript is above array bounds > [-Warray-bounds] > ide.c:69:21: warning: array subscript is above array bounds > [-Warray-bounds] > ide.c:70:17: warning: array subscript is above array bounds > [-Warray-bounds] > > Signed-off-by: Wolfgang Denk <w...@denx.de> > Cc: Guennadi Liakhovetski <g.liakhovet...@gmx.de> > --- > board/linkstation/ide.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/board/linkstation/ide.c b/board/linkstation/ide.c > index 568fdf5..14e3fd0 100644 > --- a/board/linkstation/ide.c > +++ b/board/linkstation/ide.c > @@ -64,12 +64,14 @@ int ide_preinit (void) > ide_bus_offset[0] = pci_hose_bus_to_phys(&hose, > ide_bus_offset[0] & > 0xfffffffe, > PCI_REGION_IO); > +#if CONFIG_SYS_IDE_MAXBUS > 1 I don't have gcc 4.6 installed here unfortunately, but wondering, wouldn't this if (CONFIG_SYS_IDE_MAXBUS > 1) { ide_bus_offset[1]... } also make the compiler happy? Maybe not, because, probably, the above "if" would be optimised away after indicies are verifies. But if it does fix the problem too - it would be preferable IMHO. Of course, one could also use a perversion like if (CONFIG_SYS_IDE_MAXBUS > 1) { ide_bus_offset[CONFIG_SYS_IDE_MAXBUS > 1]... } But that'd be even uglier, than the preprocessor "#if":) Thanks Guennadi > pci_read_config_dword(devbusfn, PCI_BASE_ADDRESS_2, > (u32 *) &ide_bus_offset[1]); > ide_bus_offset[1] &= 0xfffffffe; > ide_bus_offset[1] = pci_hose_bus_to_phys(&hose, > ide_bus_offset[1] & > 0xfffffffe, > PCI_REGION_IO); > +#endif > } > > if (pci_find_device (PCI_VENDOR_ID_ITE, PCI_DEVICE_ID_ITE_8212, 0) != > -1) { > -- > 1.7.6.4 > --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/ _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot