/*
- * Copyright (C) 1995-2011 University of Karlsruhe. All right reserved.
- *
* This file is part of libFirm.
- *
- * This file may be distributed and/or modified under the terms of the
- * GNU General Public License version 2 as published by the Free Software
- * Foundation and appearing in the file LICENSE.GPL included in the
- * packaging of this file.
- *
- * Licensees holding valid libFirm Professional Edition licenses may use
- * this file in accordance with the libFirm Commercial License.
- * Agreement provided with the Software.
- *
- * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE.
+ * Copyright (C) 2012 University of Karlsruhe.
*/
/**
ir_type **subtypes; /**< Array containing the direct subtypes. */
ir_type **supertypes; /**< Array containing the direct supertypes */
ir_peculiarity peculiarity; /**< The peculiarity of this class. */
- ir_entity *type_info; /**< An ir_entity representing this class, used for type info. */
int dfn; /**< A number that can be used for 'instanceof' operator. */
unsigned vtable_size; /**< The size of the vtable for this class. */
unsigned clss_flags; /**< Additional class flags. */
} tp_attr;
/** Additional type flags. */
-enum type_flags {
+typedef enum type_flags {
tf_none = 0, /**< No flags. */
tf_lowered_type = 1U << 0, /**< Set if this is a lowered type. */
tf_layout_fixed = 1U << 1, /**< Set if the layout of a type is fixed */
tf_constructors = 1U << 6, /**< Set only for the constructors segment type */
tf_destructors = 1U << 7, /**< Set only for the destructors segment type */
tf_variable_size = 1U << 8, /**< compound or array type may have variable size last element */
-};
+} type_flags;
ENUM_BITSET(type_flags)
/**
method->attr.ma.irg_calling_conv = cc_mask;
}
+ir_type *new_type_segment(ident *name, type_flags flags);
+
#endif /* FIRM_TR_TYPE_T_H */