This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH,fortran] *The* ISO C Binding patch
Steve Kargl <sgk@troutmask.apl.washington.edu> writes:
> On Sun, Jun 24, 2007 at 05:23:54PM +0300, Revital1 Eres wrote:
>>
>> > to trunk. I am interested in technical reviews and bootstrap
>> > testing on as many targets as possible.
>>
>> powerpc64 -
>>
>> checking whether the /home/revitale/test_for/build/./gcc/gfortran
>> -B/home/revitale/test_for/build/./gcc/
>> -B/home/revitale/test_for/build/powerpc64-unknown-linux-gnu/bin/
>> -B/home/revitale/test_for/build/powerpc64-unknown-linux-gnu/lib/ -isystem
>> /home/revitale/test_for/build/powerpc64-unknown-linux-gnu/include -isystem
>> /home/revitale/test_for/build/powerpc64-unknown-linux-gnu/sys-include
>> linker (/home/revitale/test_for/build/./gcc/collect-ld -m elf64ppc)
>> supports shared libraries... yes
>> checking dynamic linker characteristics... GNU/Linux ld.so
>> checking how to hardcode library paths into programs... immediate
>> checking whether the GNU Fortran compiler is working... no
>> configure: error: GNU Fortran is not working; please report a bug in
>
> This normally means that either GMP or MPFR isn't working, but
> if you're bootstrapping trunk you should have working libraries.
No, this is most likely the same bug as
<http://gcc.gnu.org/ml/gcc-patches/2007-06/msg01758.html>. I wonder how
you were able to bootstrap this at all.
Andreas.
2007-06-24 Andreas Schwab <schwab@suse.de>
* trans-types.c (gfc_check_any_c_kind): Don't read beyond array
bounds.
(init_c_interop_kinds): Don't write beyond array bounds.
Index: trans-types.c
===================================================================
--- trans-types.c (revision 125982)
+++ trans-types.c (working copy)
@@ -128,7 +128,7 @@ gfc_check_any_c_kind (gfc_typespec *ts)
{
int i;
- for (i = ISOCBINDING_INVALID; i < ISOCBINDING_NUMBER; i++)
+ for (i = 0; i < ISOCBINDING_NUMBER; i++)
{
/* Check for any C interoperable kind for the given type/kind in ts.
This can be used after verify_c_interop to make sure that the
@@ -208,7 +208,7 @@ void init_c_interop_kinds (void)
long_long_integer_type_node);
/* init all pointers in the list to NULL */
- for (i = ISOCBINDING_INVALID; i < ISOCBINDING_NUMBER; i++)
+ for (i = 0; i < ISOCBINDING_NUMBER; i++)
{
/* Initialize the name and value fields. */
c_interop_kinds_table[i].name[0] = '\0';
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."