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