This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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."


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]