[llvm-commits] llvm-gcc4: resurrect fortran

Devang Patel dpatel at apple.com
Thu Jan 18 14:14:42 PST 2007


On Jan 17, 2007, at 1:10 PM, Duncan Sands wrote:

> Link with the common stub routines, and remove the partial set of
> stubs that were defined in the front-end.  With this, the fortran
> compiler builds, but dies when compiling libgfortran:
>
> llvm-convert.cpp:4243: static llvm::Constant*  
> TreeConstantToLLVM::Convert(tree_node*):
>         Assertion `((__extension__ ({ const tree __t = (exp); char  
> const __c = tree_code_type[(int)
>         (((enum tree_code) (__t)->common.code))]; if (!((__c) !=  
> tcc_type)) tree_class_check_failed
>         (__t, tcc_type, "../../gcc.llvm.master/gcc/llvm- 
> convert.cpp", 4243, __FUNCTION__); __t; })
>         ->common.constant_flag) || ((enum tree_code) (exp)- 
> >common.code) == STRING_CST) &&
>         "Isn't a constant!"' failed.
>
> libgfortran/intrinsics/selected_int_kind.f90: In function  
> 'selected_int_kind':
> libgfortran/intrinsics/selected_int_kind.f90:22: internal compiler  
> error: Aborted
>
>
> Index: gcc.llvm.master/gcc/fortran/Make-lang.in
> ===================================================================
> --- gcc.llvm.master.orig/gcc/fortran/Make-lang.in	2007-01-17  
> 21:41:50.000000000 +0100
> +++ gcc.llvm.master/gcc/fortran/Make-lang.in	2007-01-17  
> 21:47:04.000000000 +0100
> @@ -103,12 +103,15 @@
>  	-rm -f gfortran-cross$(exeext)
>  	cp gfortran$(exeext) gfortran-cross$(exeext)
>
> +# Language-independent object files.
> +F95_BACKEND = $(BACKEND) attribs.o stub-objc.o stub-c.o
> +
>  # The compiler itself is called f951.
>  f951$(exeext): $(F95_OBJS) \
> -		$(BACKEND) $(LIBDEPS)
> +		$(F95_BACKEND) $(LIBDEPS)
>  	# APPLE LOCAL LLVM
>  	$(LINKCC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \
> -		$(F95_OBJS) $(BACKEND) $(F95_LIBS)
> +		$(F95_OBJS) $(F95_BACKEND) $(F95_LIBS) $(C_STUBS)

I don't see C_STUBS anywhere. Would it be possible for you to resend  
this patch with appropriate "APPLE LOCAL llvm" markers ?

-
Devang




More information about the llvm-commits mailing list