[LLVMdev] llvm-gcc fortran bootstrap broken

Duncan Sands baldrick at free.fr
Wed Jul 30 12:11:20 PDT 2008


And how about this one for handling the C specific invoke_impl_ptr_type?

Index: gcc-4.2.llvm/gcc/c-common.h
===================================================================
--- gcc-4.2.llvm.orig/gcc/c-common.h	2008-07-30 21:01:49.000000000 +0200
+++ gcc-4.2.llvm/gcc/c-common.h	2008-07-30 21:01:56.000000000 +0200
@@ -1164,7 +1164,6 @@
 extern struct block_sema_info *cur_block;
 extern tree build_helper_func_decl (tree, tree);
 extern bool building_block_byref_decl;
-extern tree invoke_impl_ptr_type;
 extern tree build_block_byref_decl (tree, tree, tree);
 extern tree build_block_ref_decl (tree, tree);
 extern tree begin_block (void);
Index: gcc-4.2.llvm/gcc/dwarf2out.c
===================================================================
--- gcc-4.2.llvm.orig/gcc/dwarf2out.c	2008-07-30 20:57:56.000000000 +0200
+++ gcc-4.2.llvm/gcc/dwarf2out.c	2008-07-30 20:58:16.000000000 +0200
@@ -11480,9 +11480,8 @@
   dw_die_ref type_die  = NULL;
 
   /* APPLE LOCAL begin radar 5811943 - Fix type of pointers to blocks  */
-  if (code == BLOCK_POINTER_TYPE)
+  if (code == BLOCK_POINTER_TYPE && invoke_impl_ptr_type)
     {
-      gcc_assert (invoke_impl_ptr_type);
       type = invoke_impl_ptr_type;
       code = TREE_CODE (type);
     }
Index: gcc-4.2.llvm/gcc/tree.h
===================================================================
--- gcc-4.2.llvm.orig/gcc/tree.h	2008-07-30 21:01:15.000000000 +0200
+++ gcc-4.2.llvm/gcc/tree.h	2008-07-30 21:04:46.000000000 +0200
@@ -4845,4 +4845,8 @@
 extern void note_alternative_entry_points (void);
 /* APPLE LOCAL end CW asm blocks */
 
+/* LLVM LOCAL pointers to blocks */
+extern tree invoke_impl_ptr_type;
+/* LLVM LOCAL pointers to blocks */
+
 #endif  /* GCC_TREE_H  */
Index: gcc-4.2.llvm/gcc/stub-c.c
===================================================================
--- gcc-4.2.llvm.orig/gcc/stub-c.c	2008-07-30 21:05:10.000000000 +0200
+++ gcc-4.2.llvm/gcc/stub-c.c	2008-07-30 21:05:44.000000000 +0200
@@ -32,6 +32,7 @@
 bool iasm_in_operands ATTRIBUTE_WEAK;
 int flag_iasm_blocks ATTRIBUTE_WEAK;
 int parse_in ATTRIBUTE_WEAK;
+tree invoke_impl_ptr_type;
 
 
 tree iasm_addr (tree) ATTRIBUTE_WEAK;
 




More information about the llvm-dev mailing list