# ifndef _TYPE_T_H_
# define _TYPE_T_H_
-
+# ifdef HAVE_CONFIG_H
+# include "config.h"
+# endif
# include "type.h"
-
/**
* @file type_t.h
* This file contains the datatypes hidden in type.h.
/** method attributes */
typedef struct {
int n_params; /**< number of parameters */
- type **param_type; /**< code generation needs this information.
- @@@ Should it be generated by the frontend,
- or does this impose unnecessary work for
- optimizations that change the parameters of
- methods? */
+ type **param_type; /**< code generation needs this information. */
+ type *value_params; /**< A type whose entities represent copied value arguments. */
int n_res; /**< number of results */
type **res_type; /**< array with result types */
+ type *value_ress; /**< A type whose entities represent copied value results. */
variadicity variadicity; /**< variadicity of the method */
} mtd_attr;
unsigned long visit; /**< visited counter for walks of the type information */
void *link; /**< holds temporary data - like in irnode_t.h */
struct dbg_info* dbi; /**< A pointer to information for debug support. */
+
+#ifdef DEBUG_libfirm
+ int nr; /**< a unique node number for each node to make output
+ readable. */
+#endif
tp_attr attr; /* type kind specific fields. This must be the last
entry in this struct! Varying size! */
};
INLINE void free_primitive_attrs (type *primitive);
+/** initialize the type module */
+void init_type (void);
+
# endif /* _TYPE_T_H_ */