X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Ftr%2Ftype_t.h;h=b6e790a32ab31d6bdaebac9fe1c9c218dc6c4671;hb=67e3ef5e7088c2254daeb2a72e0950bef6ca0256;hp=3b12a3127588db5f9598f4cd8770a1052791bbf7;hpb=b4116a3d7d81f0d3b49929109dcabd99a3efb910;p=libfirm diff --git a/ir/tr/type_t.h b/ir/tr/type_t.h index 3b12a3127..b6e790a32 100644 --- a/ir/tr/type_t.h +++ b/ir/tr/type_t.h @@ -1,4 +1,6 @@ +/* $Id$ */ + # ifndef _TYPE_T_H_ # define _TYPE_T_H_ @@ -23,6 +25,8 @@ typedef struct { entity **members; /* fields and methods of this class */ type **subtypes; /* direct subtypes */ type **supertypes; /* direct supertypes */ + peculiarity peculiarity; + int dfn; /* number used for 'instanceof' operator */ } cls_attr; typedef struct { @@ -54,6 +58,7 @@ typedef struct { int n_dimensions; /* Number of array dimensions. */ ir_node **lower_bound; /* Lower bounds of dimensions. Usually all 0. */ ir_node **upper_bound; /* Upper bounds or dimensions. */ + int *order; /* Ordering of dimensions. */ type *element_type; /* The type of the array elements. */ entity *element_ent; /* Entity for the array elements, to be used for element selection with Sel. */ @@ -72,9 +77,9 @@ typedef struct { } ptr_attr; /* -typedef struct { * No private attr yet. * -} pri_attr; -*/ +typedef struct { * No private attr yet! * +} pri_attr; */ + /* typedef struct { * No private attr, must be smaller than others! * @@ -95,13 +100,13 @@ typedef union { struct type { firm_kind kind; tp_op *type_op; - ir_mode *mode; ident *name; type_state state; /* Represents the types state: layout undefined or fixed. */ int size; /* Size of an entity of this type. This is determined when fixing the layout of this class. Size must be given in bytes. */ + ir_mode *mode; /* The mode for atomic types */ unsigned long visit; /* visited counter for walks of the type information */ void *link; /* holds temporary data - like in irnode_t.h */ tp_attr attr; /* type kind specific fields. This must be the last