5 File name: ir/ana/pto_name.h
6 Purpose: Names for abstract objects
9 Created: Sat Nov 13 19:35:27 CET 2004
11 Copyright: (c) 1999-2004 Universität Karlsruhe
12 Licence: This file is protected by the GPL - GNU GENERAL PUBLIC LICENSE.
19 # include "pto_comp.h" /* for pto_t */
24 /* ===================================================
26 =================================================== */
28 /* ===================================================
30 =================================================== */
31 typedef enum desc_kind_enum {
37 /* abstract super class for all descriptors */
38 typedef struct desc_str
43 ir_node *node; /* allocation node */
44 struct desc_str *prev; /* linked list */
47 /* object descriptor */
48 typedef struct obj_desc_str
53 ir_node *node; /* allocation node */
54 struct desc_str *prev; /* linked list */
61 /* array descriptor */
62 typedef struct arr_desc_str
67 ir_node *node; /* allocation node */
68 struct desc_str *prev; /* linked list */
73 /* ===================================================
75 =================================================== */
76 /* Dump all names to a file of the given name */
77 void pto_dump_names (const char*);
79 /* Find the given descriptor's entry for the given entity */
80 qset_t *get_entry (desc_t*, entity*);
82 /* get a new descriptor for the given type at the given node */
83 desc_t *new_name (type*, ir_node*);
85 /* get a new descriptor for the given (presumably static) entity */
86 desc_t *new_ent_name (entity*);
88 /* Initialise the name module */
89 void pto_name_init (void);
91 /* Cleanup the name module */
92 void pto_name_cleanup (void);
94 /* ===================================================
96 =================================================== */
99 # endif /* not defined _PTO_NAME_ */
105 Revision 1.4 2004/11/30 15:49:27 liekweg
108 Revision 1.3 2004/11/30 14:47:54 liekweg
109 fix initialisation; do correct iteration
111 Revision 1.2 2004/11/24 14:53:56 liekweg
114 Revision 1.1 2004/11/18 16:37:34 liekweg