** testprogram.
*/
+# include <stdio.h>
+# include <string.h>
+
+# include "irvrfy.h"
# include "irdump.h"
# include "firm.h"
ir_node *self, *par1, *a_ptr;
ir_node *a_val;
- int o_pos, self_pos, e_pos, d_pos;
+ int o_pos, self_pos, e_pos;
int i;
set_method_res_type(proc_c, 0, prim_t_int);
proc_c_e = new_entity(class_prima, id_from_str ("c", 1), proc_c);
-
/*** Now build procedure main. ***/
/** Type information for main. **/
printf("\nCreating an IR graph: OO_PROGRAM_EXAMPLE...\n");
obj_size = new_SymConst((type_or_id_p)class_prima, size);
obj_o = new_Alloc(get_store(), obj_size, class_prima, heap_alloc);
set_store(new_Proj(obj_o, mode_M, 0)); /* make the changed memory visible */
- obj_o = new_Proj(obj_o, mode_p, 1); /* remember the pointer to the object */
+ obj_o = new_Proj(obj_o, mode_p, 2); /* remember the pointer to the object */
set_value(o_pos, obj_o);
/* Get the pointer to the procedure from the object. */
set_store(new_Proj(call, mode_M, 0));
/* Get the result of the procedure: select the result tuple from the call,
then the proper result from the tuple. */
- res = new_Proj(new_Proj(call, mode_T, 2), mode_I, 0);
+ res = new_Proj(new_Proj(call, mode_T, 2), mode_i, 0);
/* return the results of procedure main */
{
mature_block (get_irg_end_block(main_irg));
irg_vrfy(main_irg);
+ finalize_cons (main_irg);
/****************************************************************************/
/* get the procedure parameter */
self = new_Proj(get_irg_args(set_a_irg), mode_p, 0);
set_value(self_pos, self);
- par1 = new_Proj(get_irg_args(set_a_irg), mode_I, 1);
+ par1 = new_Proj(get_irg_args(set_a_irg), mode_i, 1);
set_value(e_pos, par1);
/* Create and select the entity to set */
a_ptr = new_simpleSel(get_store(), self, a_e);
/* verify the graph */
irg_vrfy(set_a_irg);
+ finalize_cons (set_a_irg);
/****************************************************************************/
/* get the procedure parameter */
self = new_Proj(get_irg_args(c_irg), mode_p, 0);
- par1 = new_Proj(get_irg_args(c_irg), mode_I, 1);
+ par1 = new_Proj(get_irg_args(c_irg), mode_i, 1);
/* Select the entity and load the value */
a_ptr = new_simpleSel(get_store(), self, a_e);
a_val = new_Load(get_store(), a_ptr);
set_store(new_Proj(a_val, mode_M, 0));
- a_val = new_Proj(a_val, mode_I, 1);
+ a_val = new_Proj(a_val, mode_i, 2);
/* return the result */
{
ir_node *in[1];
- in[0] = new_Add(par1, a_val, mode_I);
+ in[0] = new_Add(par1, a_val, mode_i);
x = new_Return (get_store (), 1, in);
}
/* verify the graph */
irg_vrfy(c_irg);
+ finalize_cons (c_irg);
/****************************************************************************/