[llvm-commits] llvm-gcc4: resurrect java

Duncan Sands baldrick at free.fr
Wed Jan 17 13:14:19 PST 2007


Link with the common stub routines, and remove the partial set of
stubs that were defined in the front-end.  With this, a java build
gets quite far, but dies at

libffi/src/x86/ffi.c: In function 'ffi_prep_cif_machdep':
libffi/src/x86/ffi.c:130: error: duplicate case value
libffi/src/x86/ffi.c:129: error: previously used here

Index: gcc.llvm.master/gcc/java/Make-lang.in
===================================================================
--- gcc.llvm.master.orig/gcc/java/Make-lang.in	2007-01-17 21:41:50.000000000 +0100
+++ gcc.llvm.master/gcc/java/Make-lang.in	2007-01-17 21:47:14.000000000 +0100
@@ -134,10 +134,13 @@
 java/parse-scan.o-warn = -Wno-error
 java/parse.o-warn = -Wno-error
 
-jc1$(exeext): $(JAVA_OBJS) $(BACKEND) $(LIBDEPS)
+# Language-independent object files.
+JAVA_BACKEND = $(BACKEND) attribs.o stub-objc.o stub-c.o
+
+jc1$(exeext): $(JAVA_OBJS) $(JAVA_BACKEND) $(LIBDEPS)
 	rm -f $@
-	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \
-		$(JAVA_OBJS) $(BACKEND) $(ZLIB) $(LIBICONV) $(LIBS)
+	$(LINKCC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \
+		$(JAVA_OBJS) $(JAVA_BACKEND) $(ZLIB) $(LIBICONV) $(LIBS)
 
 gcjh$(exeext): $(GCJH_OBJS) $(LIBDEPS)
 	rm -f $@
Index: gcc.llvm.master/gcc/java/lang.c
===================================================================
--- gcc.llvm.master.orig/gcc/java/lang.c	2007-01-17 21:41:50.000000000 +0100
+++ gcc.llvm.master/gcc/java/lang.c	2007-01-17 21:47:14.000000000 +0100
@@ -800,21 +800,6 @@
 /* APPLE LOCAL disable_typechecking_for_spec_flag */
 int disable_typechecking_for_spec_flag = 0;
 
-/* APPLE LOCAL begin CW asm blocks */
-/* Dummies needed because we use them from cpplib, yuck.  */
-int flag_iasm_blocks;
-int iasm_state;
-int iasm_in_operands;
-/* APPLE LOCAL end CW asm blocks */
-
-/* APPLE LOCAL begin 4174833 */
-tree
-objc_is_class_name (tree ARG_UNUSED (arg))
-{
-  return 0;
-}
-/* APPLE LOCAL end 4174833 */
-
 /* Every call to a static constructor has an associated boolean
    variable which is in the outermost scope of the calling method.
    This variable is used to avoid multiple calls to the static



More information about the llvm-commits mailing list