Index: libjit/jit/jit-insn.c
diff -u libjit/jit/jit-insn.c:1.37 libjit/jit/jit-insn.c:1.38
--- libjit/jit/jit-insn.c:1.37 Thu Dec 15 10:12:26 2005
+++ libjit/jit/jit-insn.c Thu Dec 15 18:10:10 2005
@@ -3948,27 +3948,19 @@
jit_value_t jit_insn_address_of(jit_function_t func, jit_value_t value1)
{
jit_type_t type;
- jit_value_t temp;
jit_value_t result;
if(!value1)
{
return 0;
}
- type = jit_type_create_pointer(jit_value_get_type(value1), 1);
- if(!type)
+ if(jit_value_is_constant(value1))
{
return 0;
}
- /* if it is a constant, need to create a temporary and then make that
addressable */
- if(jit_value_is_constant(value1))
+ type = jit_type_create_pointer(jit_value_get_type(value1), 1);
+ if(!type)
{
- temp = jit_value_create(func, jit_value_get_type(value1));
- if(!temp)
- {
- return 0;
- }
- jit_insn_store(func, temp, value1);
- value1 = temp;
+ return 0;
}
jit_value_set_addressable(value1);
result = apply_unary(func, JIT_OP_ADDRESS_OF, value1, type);
_______________________________________________
dotgnu-pnet-commits mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/dotgnu-pnet-commits