-/* Copyright (C) 2000 by Universitaet Karlsruhe
-* All rights reserved.
-*
-* Author: Goetz Lindenmaier
-*
-* testprogram.
-*/
-
-#include <stdio.h>
+/*
+ * Project: libFIRM
+ * File name: testprograms/const_ent_example.c
+ * Purpose: Shows how to construct type information for constant entities.
+ * Author: Goetz Lindenmaier
+ * Modified by:
+ * Created:
+ * CVS-ID: $Id$
+ * Copyright: (c) 1999-2003 Universität Karlsruhe
+ * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
+ */
+
+
+# include <stdio.h>
# include <string.h>
# include "irvrfy.h"
# include "firm.h"
/**
-* This file constructs type information for constant entities.
-*
-* It constructs the information for a class type with a dispatch
-* table. The class has a field a, and two methods f and g. The
-* class is represented by a class type with two entities for the
-* field a and the reference to the dispatch table. This reference
-* is a constant entity. Ther dispatch table is also represented
-* by a class type that contains the two methods. There is one entity
-* of the dispatch table which is constant.
-*
-* Further the example shows the representation of a constant global
-* array.
-*
-* class C {
-* int a;
-* void f();
-* void g(int);
-* }
-* int[4] arre = (7, 2, 13, 92);
-**/
+ * This file constructs type information for constant entities.
+ *
+ * It constructs the information for a class type with a dispatch
+ * table. The class has a field a, and two methods f and g. The
+ * class is represented by a class type with two entities for the
+ * field a and the reference to the dispatch table. This reference
+ * is a constant entity. Ther dispatch table is also represented
+ * by a class type that contains the two methods. There is one entity
+ * of the dispatch table which is constant.
+ *
+ * Further the example shows the representation of a constant global
+ * array.
+ *
+ * class C {
+ * int a;
+ * void f();
+ * void g(int);
+ * }
+ * int[4] arre = (7, 2, 13, 92);
+ **/
int main(int argc, char **argv)
{
ident *Ci, *ai, *fi, *fti, *gi, *gti, *inti, *dipti, *diptpi, *diptpei, *diptei;
/* suffix i names identifiers */
- type *Ct, *intt, *at, *ft, *gt, *diptt, *diptpt;
+ type *Ct, *intt, *ft, *gt, *diptt, *diptpt;
/* t names types */
entity *ae, *fe, *ge, *dipte, *diptpe; /* e names entities */
ir_node *n;
current_ir_graph = get_const_code_irg();
/* The pointer to the dispatch table is constant. */
/* The constant is the address of the given entity */
-<<<<<<< const_ent_example.c
n = new_Const(mode_P, new_tarval_from_entity(dipte, mode_P));
-=======
- n = new_Const(mode_P, tarval_P_from_entity(dipte));
->>>>>>> 1.7
- set_entity_variability(diptpe, constant);
+ set_entity_variability(diptpe, variability_constant);
set_atomic_ent_value(diptpe, n);
/* The entity representing the dispatch table is constant, too. */
- set_entity_variability(dipte, constant);
+ set_entity_variability(dipte, variability_constant);
add_compound_ent_value(dipte, get_atomic_ent_value(fe), fe);
add_compound_ent_value(dipte, get_atomic_ent_value(ge), ge);
/** The constant array entity **/
arre = new_entity(get_glob_type(), arrei, arrt);
- set_entity_variability(arre, constant);
+ set_entity_variability(arre, variability_constant);
current_ir_graph = get_const_code_irg();
n = new_Const(mode_Is, new_tarval_from_long (7, mode_Is));
add_compound_ent_value(arre, n, arrelte);