[M3devel] the slightly difficult to merge parts 4.3 vs. 4.5

Jay K jay.krell at cornell.edu
Sun May 30 11:47:21 CEST 2010


--- /src/orig/gcc-4.3.0/gcc/tree-gimple.c    2007-12-13 13:49:09.000000000 -0800
+++ /dev2/cm3/m3-sys/m3cc/gcc/gcc/tree-gimple.c    2010-05-09 22:27:56.000000000 -0700
@@ -74,6 +74,7 @@
     case VECTOR_CST:
     case OBJ_TYPE_REF:
     case ASSERT_EXPR:
+    case STATIC_CHAIN_EXPR:
       return true;
 
     default:


That is in is gimple_formal_tmp_rhs, which no longer exists, but which the various
callers do. One obvious guess is callers should each check for STATIC_CHAIN_EXPR.



tree-nested.c:
+    case STATIC_CHAIN_EXPR:
+      decl = TREE_OPERAND (t, 0);
+      target_context = decl_function_context (decl);
+      if (target_context)
+    {
+      if (info->context == target_context)
+        {
+          /* Make sure frame_decl gets created.  */
+          (void) get_frame_type (info);
+        }
+      *tp = get_static_chain (info, target_context, &wi->tsi);
+    }
+      else
+    *tp = null_pointer_node;
+      break;
+


That is in convert_call_expr.
Which is now called convert_gimple_call, but which is significantly different.
Hm..I see...there is a new gimple.def, similar to tree.def..

Maybe just have to put STATIC_CHAIN_EXPR in there instead, or
put a form in each.

 - Jay

 		 	   		  


More information about the M3devel mailing list