[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#221738: gcj-3.3: ICE during babel build



Package: gcj-3.3
Version: 3.3.2-4
Severity: normal

Greetings,

gcj-3.3 ICEs during at attempted build of babel 0.8.8.  The compile
command is quite ugly:

javac -g -d . -classpath
../lib/java-getopt-1.0.7.jar:../lib/xerces-2.4.0.jar:../lib/jcert-1.0.1.jar:../lib/jnet-1.0.1.jar:../lib/external/jsse-1.0.1.jar:../lib/xml-apis.jar ./gov/llnl/babel/backend/c/ArrayMethods.java (and 161 other .java files)

It is followed by a boatload of warnings, and then:

./gov/llnl/babel/backend/fortran/AbbrevHeader.java: In class
`gov.llnl.babel.backend.fortran.AbbrevHeader':
./gov/llnl/babel/backend/fortran/AbbrevHeader.java: In method
`gov.llnl.babel.backend.fortran.AbbrevHeader.generateExtendable(gov.llnl.babel.symbols.Extendable,gov.llnl.babel.backend.mangler.NameMangler,gov.llnl.babel.backend.mangler.NameMangler)':
./gov/llnl/babel/backend/fortran/AbbrevHeader.java:239: internal
compiler error: in emit_store, at java/jcf-write.c:1048
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

Is there an equivalent to "gcc -E" for Java, to preprocess the source? 
If not, you can get the (unbuildable) Debian package source at:

  http://lyre.mit.edu/~powell/babel/babel_0.8.8.orig.tar.gz
  http://lyre.mit.edu/~powell/babel/babel_0.8.8-1.diff.gz
  http://lyre.mit.edu/~powell/babel/babel_0.8.8-1.dsc

then just dpkg-buildpackage -r fakeroot, and you'll see the ICE.  Or
give me instructions for making "preprocessed source" and I'll do so.

Interestingly, babel 0.8.6-3 compiles just fine.  (Kaffe fails to run
it; if compiled with gcj-0.3.2, then kaffe is perfectly happy with it. 
But that's bug 197090 against kaffe.)  The difference between the
AbbrevHeader.java files in those two versions is:

--- babel-0.8.6/compiler/gov/llnl/babel/backend/fortran/AbbrevHeader.java	
2003-07-23 12:30:08.000000000 -0400
+++ babel-0.8.8/compiler/gov/llnl/babel/backend/fortran/AbbrevHeader.java	
2003-10-28 18:25:43.000000000 -0500
@@ -2,9 +2,9 @@
 // File:        AbbrevHeader.java
 // Package:     gov.llnl.babel.backend.fortran
 // Copyright:   (c) 2002 The Regents of the University of California
-// Release:     $Name: release-0-8-6 $
-// Revision:    @(#) $Revision: 1.12 $
-// Date:        $Date: 2003/04/02 22:11:25 $
+// Release:     $Name: release-0-8-8 $
+// Revision:    @(#) $Revision: 1.13 $
+// Date:        $Date: 2003/09/03 15:08:42 $
 // Description: Write #include file to mangle names when necessary
 // 
 //
@@ -78,6 +78,9 @@
     "get2",
     "get3",
     "get4",
+    "get5",
+    "get6",
+    "get7",
     "isColumnOrder",
     "isRowOrder",
     "lower",
@@ -86,6 +89,9 @@
     "set2",
     "set3",
     "set4",
+    "set5",
+    "set6",
+    "set7",
     "slice",
     "smartCopy",
     "stride",
@@ -230,13 +236,16 @@
     }
 
     if ("f90".equals(BabelConfiguration.getInstance().getTargetLanguage())) {
+      final int maxArray = BabelConfiguration.getInstance().getMaximumArray();
       if (!ext.isInterface()) {
         generateType(symName, non, fort, "_impl");
         generateType(symName, non, fort, "_private");
         generateType(symName, non, fort, "_wrap");
       }
       generateType(symName, non, fort, "");
-      generateType(symName, non, fort, "_a");
+      for(int d = 1; d <= maxArray ; ++d) {
+        generateType(symName, non, fort, "_" + Integer.toString(d) + "d");
+      }
       generateType(symName, non, fort, "_array");
       generateType(symName, non, fort, "_t");
       generateType(symName, non, fort, "_type");

Of course the version difference is irrelevant; the next two hunks add
to an array of strings.  But the last hunk is in the generateExtendable
method, with its first change on line 239 (mentioned in the ICE). 
Perhaps that change could provide a clue as to why the old version
compiles and the new one causes an ICE...

Thanks,
-- 
-Adam P.

GPG fingerprint: D54D 1AEE B11C CE9B A02B  C5DD 526F 01E8 564E E4B6

Welcome to the best software in the world today cafe!
http://lyre.mit.edu/~powell/The_Best_Stuff_In_The_World_Today_Cafe.ogg



Reply to: