Here is the patch,
1. the first one used #if defined to remove some code that specific in
X8664 and loogson, not in IA64.
2. the second one , in IA64, _wn_to_val_num_map->Get_val((POINTER)
wn_cond) return a *void type, it must convert to a type INTPTR before
convert to IF_CMP_VAL(actually UINT32)

Index: osprey/be/cg/cgemit.cxx
===================================================================
--- osprey/be/cg/cgemit.cxx     (revision 3624)
+++ osprey/be/cg/cgemit.cxx     (working copy)
@@ -4864,8 +4864,10 @@
                // alt-entry
                if ( Assembly ) {
                        fprintf ( Asm_File, "\t%s\t%s\n", AS_AENT,
ST_name(entry_sym)); // KEY
+#if defined(TARG_X8664) || defined(TARG_LOONGSON)
                        if (CG_p2align != 0)
                                fputs ("\t.p2align 5,,\n", Asm_File);
+#endif
                        Print_Label (Asm_File, entry_sym, 0 );
                }
                EMT_Put_Elf_Symbol (entry_sym);
Index: osprey/be/opt/opt_proactive.cxx
===================================================================
--- osprey/be/opt/opt_proactive.cxx     (revision 3624)
+++ osprey/be/opt/opt_proactive.cxx     (working copy)
@@ -10357,7 +10357,7 @@
   UINT32 key;
   STACK<WN *> * stk;

-  IF_CMP_VAL ret_val = (IF_CMP_VAL)
_wn_to_val_num_map->Get_val((POINTER) wn_cond);
+  IF_CMP_VAL ret_val = (IF_CMP_VAL)(INTPTR)
_wn_to_val_num_map->Get_val((POINTER) wn_cond);
   if (ret_val) {
     *val = ((*val) << MAX_IF_CMP_BITS) + ret_val;
     return;
@@ -10373,7 +10373,7 @@
       for (int i = 0; i < stk->Elements(); i++) {
        WN * wn_iter = stk->Top_nth(i);
        if ((wn_cond == wn_iter) || (WN_Simp_Compare_Trees(wn_cond,
wn_iter) == 0)) {
-         ret_val = (IF_CMP_VAL) _wn_to_val_num_map->Get_val((POINTER) wn_iter);
+         ret_val = (IF_CMP_VAL)(INTPTR)
_wn_to_val_num_map->Get_val((POINTER) wn_iter);
          break;
        }
       }


-- 
yongchong

------------------------------------------------------------------------------
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery, 
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now. 
http://p.sf.net/sfu/quest-d2dcopy1
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to