[gamecode] Use etype_t in more places

But forget about bitfields. If enum isn't int and int isn't 32-bits,
we've probably got other problems (and there may be a better way).
This commit is contained in:
Bill Currie 2020-03-28 21:19:55 +09:00
parent 7218af6be4
commit 869efa7239

View file

@ -51,19 +51,19 @@ typedef enum {
} ty_meta_e;
typedef struct qfot_alias_s {
pr_int_t type; ///< type at end of alias chain
etype_t type; ///< type at end of alias chain
pointer_t aux_type; ///< referenced type: stripped of aliases
pointer_t full_type; ///< includes full alias info
string_t name; ///< alias name, may be null
} qfot_alias_t;
typedef struct qfot_fldptr_s {
pr_int_t type; ///< ev_field or ev_pointer
etype_t type; ///< ev_field or ev_pointer
pointer_t aux_type; ///< referenced type
} qfot_fldptr_t;
typedef struct qfot_func_s {
pr_int_t type; ///< always ev_func
etype_t type; ///< always ev_func
pointer_t return_type; ///< return type of the function
pr_int_t num_params; ///< ones compliment count of the
///< parameters. -ve values indicate the
@ -101,11 +101,11 @@ typedef struct qfot_array_s {
arrays.
*/
typedef struct qfot_type_s {
ty_meta_e meta:32; ///< meta type
ty_meta_e meta; ///< meta type
pr_uint_t size; ///< total word size of this encoding
string_t encoding; ///< Objective-QC encoding
union {
etype_t type:32; ///< ty_basic: etype_t
etype_t type; ///< ty_basic: etype_t
qfot_fldptr_t fldptr; ///< ty_basic, ev_pointer/ev_field
qfot_func_t func; ///< ty_basic, ev_func
qfot_struct_t strct; ///< ty_struct/ty_union/ty_enum