mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-22 12:31:10 +00:00
[qfcc] Use index labels for the type arrays
The one place that needed it most... constfold.c
This commit is contained in:
parent
ed501b7734
commit
5b97aa3897
1 changed files with 240 additions and 240 deletions
|
@ -1053,288 +1053,288 @@ do_op_invalid (int op, expr_t *e, expr_t *e1, expr_t *e2)
|
|||
}
|
||||
|
||||
static operation_t op_void[ev_type_count] = {
|
||||
do_op_invalid, // ev_void
|
||||
do_op_invalid, // ev_string
|
||||
do_op_invalid, // ev_float
|
||||
do_op_invalid, // ev_vector
|
||||
do_op_invalid, // ev_entity
|
||||
do_op_invalid, // ev_field
|
||||
do_op_invalid, // ev_func
|
||||
do_op_invalid, // ev_ptr
|
||||
do_op_invalid, // ev_quaternion
|
||||
do_op_invalid, // ev_int
|
||||
do_op_invalid, // ev_uint
|
||||
do_op_invalid, // ev_short
|
||||
do_op_invalid, // ev_double
|
||||
0, // ev_long
|
||||
0, // ev_ulong
|
||||
do_op_invalid, // ev_invalid
|
||||
[ev_void] = do_op_invalid,
|
||||
[ev_string] = do_op_invalid,
|
||||
[ev_float] = do_op_invalid,
|
||||
[ev_vector] = do_op_invalid,
|
||||
[ev_entity] = do_op_invalid,
|
||||
[ev_field] = do_op_invalid,
|
||||
[ev_func] = do_op_invalid,
|
||||
[ev_ptr] = do_op_invalid,
|
||||
[ev_quaternion] = do_op_invalid,
|
||||
[ev_int] = do_op_invalid,
|
||||
[ev_uint] = do_op_invalid,
|
||||
[ev_short] = do_op_invalid,
|
||||
[ev_double] = do_op_invalid,
|
||||
[ev_long] = 0,
|
||||
[ev_ulong] = 0,
|
||||
[ev_invalid] = do_op_invalid,
|
||||
};
|
||||
|
||||
static operation_t op_string[ev_type_count] = {
|
||||
do_op_invalid, // ev_void
|
||||
do_op_string, // ev_string
|
||||
do_op_invalid, // ev_float
|
||||
do_op_invalid, // ev_vector
|
||||
do_op_invalid, // ev_entity
|
||||
do_op_invalid, // ev_field
|
||||
do_op_invalid, // ev_func
|
||||
do_op_invalid, // ev_ptr
|
||||
do_op_invalid, // ev_quaternion
|
||||
do_op_invalid, // ev_int
|
||||
do_op_invalid, // ev_uint
|
||||
do_op_invalid, // ev_short
|
||||
do_op_invalid, // ev_double
|
||||
0, // ev_long
|
||||
0, // ev_ulong
|
||||
do_op_invalid, // ev_invalid
|
||||
[ev_void] = do_op_invalid,
|
||||
[ev_string] = do_op_string,
|
||||
[ev_float] = do_op_invalid,
|
||||
[ev_vector] = do_op_invalid,
|
||||
[ev_entity] = do_op_invalid,
|
||||
[ev_field] = do_op_invalid,
|
||||
[ev_func] = do_op_invalid,
|
||||
[ev_ptr] = do_op_invalid,
|
||||
[ev_quaternion] = do_op_invalid,
|
||||
[ev_int] = do_op_invalid,
|
||||
[ev_uint] = do_op_invalid,
|
||||
[ev_short] = do_op_invalid,
|
||||
[ev_double] = do_op_invalid,
|
||||
[ev_long] = 0,
|
||||
[ev_ulong] = 0,
|
||||
[ev_invalid] = do_op_invalid,
|
||||
};
|
||||
|
||||
static operation_t op_float[ev_type_count] = {
|
||||
do_op_invalid, // ev_void
|
||||
do_op_invalid, // ev_string
|
||||
do_op_float, // ev_float
|
||||
do_op_vector, // ev_vector
|
||||
do_op_invalid, // ev_entity
|
||||
do_op_invalid, // ev_field
|
||||
do_op_invalid, // ev_func
|
||||
do_op_invalid, // ev_ptr
|
||||
do_op_quaternion, // ev_quaternion
|
||||
do_op_float, // ev_int
|
||||
do_op_float, // ev_uint
|
||||
do_op_float, // ev_short
|
||||
do_op_double, // ev_double
|
||||
0, // ev_long
|
||||
0, // ev_ulong
|
||||
do_op_invalid, // ev_invalid
|
||||
[ev_void] = do_op_invalid,
|
||||
[ev_string] = do_op_invalid,
|
||||
[ev_float] = do_op_float,
|
||||
[ev_vector] = do_op_vector,
|
||||
[ev_entity] = do_op_invalid,
|
||||
[ev_field] = do_op_invalid,
|
||||
[ev_func] = do_op_invalid,
|
||||
[ev_ptr] = do_op_invalid,
|
||||
[ev_quaternion] = do_op_quaternion,
|
||||
[ev_int] = do_op_float,
|
||||
[ev_uint] = do_op_float,
|
||||
[ev_short] = do_op_float,
|
||||
[ev_double] = do_op_double,
|
||||
[ev_long] = 0,
|
||||
[ev_ulong] = 0,
|
||||
[ev_invalid] = do_op_invalid,
|
||||
};
|
||||
|
||||
static operation_t op_vector[ev_type_count] = {
|
||||
do_op_invalid, // ev_void
|
||||
do_op_invalid, // ev_string
|
||||
do_op_vector, // ev_float
|
||||
do_op_vector, // ev_vector
|
||||
do_op_invalid, // ev_entity
|
||||
do_op_invalid, // ev_field
|
||||
do_op_invalid, // ev_func
|
||||
do_op_invalid, // ev_ptr
|
||||
do_op_invalid, // ev_quaternion
|
||||
do_op_vector, // ev_int
|
||||
do_op_vector, // ev_uint
|
||||
do_op_vector, // ev_short
|
||||
do_op_vector, // ev_double
|
||||
0, // ev_long
|
||||
0, // ev_ulong
|
||||
do_op_invalid, // ev_invalid
|
||||
[ev_void] = do_op_invalid,
|
||||
[ev_string] = do_op_invalid,
|
||||
[ev_float] = do_op_vector,
|
||||
[ev_vector] = do_op_vector,
|
||||
[ev_entity] = do_op_invalid,
|
||||
[ev_field] = do_op_invalid,
|
||||
[ev_func] = do_op_invalid,
|
||||
[ev_ptr] = do_op_invalid,
|
||||
[ev_quaternion] = do_op_invalid,
|
||||
[ev_int] = do_op_vector,
|
||||
[ev_uint] = do_op_vector,
|
||||
[ev_short] = do_op_vector,
|
||||
[ev_double] = do_op_vector,
|
||||
[ev_long] = 0,
|
||||
[ev_ulong] = 0,
|
||||
[ev_invalid] = do_op_invalid,
|
||||
};
|
||||
|
||||
static operation_t op_entity[ev_type_count] = {
|
||||
do_op_invalid, // ev_void
|
||||
do_op_invalid, // ev_string
|
||||
do_op_invalid, // ev_float
|
||||
do_op_invalid, // ev_vector
|
||||
do_op_entity, // ev_entity
|
||||
do_op_entity, // ev_field
|
||||
do_op_invalid, // ev_func
|
||||
do_op_invalid, // ev_ptr
|
||||
do_op_invalid, // ev_quaternion
|
||||
do_op_invalid, // ev_int
|
||||
do_op_invalid, // ev_uint
|
||||
do_op_invalid, // ev_short
|
||||
do_op_invalid, // ev_double
|
||||
0, // ev_long
|
||||
0, // ev_ulong
|
||||
do_op_invalid, // ev_invalid
|
||||
[ev_void] = do_op_invalid,
|
||||
[ev_string] = do_op_invalid,
|
||||
[ev_float] = do_op_invalid,
|
||||
[ev_vector] = do_op_invalid,
|
||||
[ev_entity] = do_op_entity,
|
||||
[ev_field] = do_op_entity,
|
||||
[ev_func] = do_op_invalid,
|
||||
[ev_ptr] = do_op_invalid,
|
||||
[ev_quaternion] = do_op_invalid,
|
||||
[ev_int] = do_op_invalid,
|
||||
[ev_uint] = do_op_invalid,
|
||||
[ev_short] = do_op_invalid,
|
||||
[ev_double] = do_op_invalid,
|
||||
[ev_long] = 0,
|
||||
[ev_ulong] = 0,
|
||||
[ev_invalid] = do_op_invalid,
|
||||
};
|
||||
|
||||
static operation_t op_field[ev_type_count] = {
|
||||
do_op_invalid, // ev_void
|
||||
do_op_invalid, // ev_string
|
||||
do_op_invalid, // ev_float
|
||||
do_op_invalid, // ev_vector
|
||||
do_op_invalid, // ev_entity
|
||||
do_op_field, // ev_field
|
||||
do_op_invalid, // ev_func
|
||||
do_op_invalid, // ev_ptr
|
||||
do_op_invalid, // ev_quaternion
|
||||
do_op_invalid, // ev_int
|
||||
do_op_invalid, // ev_uint
|
||||
do_op_invalid, // ev_short
|
||||
do_op_invalid, // ev_double
|
||||
0, // ev_long
|
||||
0, // ev_ulong
|
||||
do_op_invalid, // ev_invalid
|
||||
[ev_void] = do_op_invalid,
|
||||
[ev_string] = do_op_invalid,
|
||||
[ev_float] = do_op_invalid,
|
||||
[ev_vector] = do_op_invalid,
|
||||
[ev_entity] = do_op_invalid,
|
||||
[ev_field] = do_op_field,
|
||||
[ev_func] = do_op_invalid,
|
||||
[ev_ptr] = do_op_invalid,
|
||||
[ev_quaternion] = do_op_invalid,
|
||||
[ev_int] = do_op_invalid,
|
||||
[ev_uint] = do_op_invalid,
|
||||
[ev_short] = do_op_invalid,
|
||||
[ev_double] = do_op_invalid,
|
||||
[ev_long] = 0,
|
||||
[ev_ulong] = 0,
|
||||
[ev_invalid] = do_op_invalid,
|
||||
};
|
||||
|
||||
static operation_t op_func[ev_type_count] = {
|
||||
do_op_func, // ev_void
|
||||
do_op_func, // ev_string
|
||||
do_op_func, // ev_float
|
||||
do_op_func, // ev_vector
|
||||
do_op_func, // ev_entity
|
||||
do_op_func, // ev_field
|
||||
do_op_func, // ev_func
|
||||
do_op_func, // ev_ptr
|
||||
do_op_func, // ev_quaternion
|
||||
do_op_func, // ev_int
|
||||
do_op_func, // ev_uint
|
||||
do_op_func, // ev_short
|
||||
do_op_func, // ev_double
|
||||
0, // ev_long
|
||||
0, // ev_ulong
|
||||
do_op_func, // ev_invalid
|
||||
[ev_void] = do_op_func,
|
||||
[ev_string] = do_op_func,
|
||||
[ev_float] = do_op_func,
|
||||
[ev_vector] = do_op_func,
|
||||
[ev_entity] = do_op_func,
|
||||
[ev_field] = do_op_func,
|
||||
[ev_func] = do_op_func,
|
||||
[ev_ptr] = do_op_func,
|
||||
[ev_quaternion] = do_op_func,
|
||||
[ev_int] = do_op_func,
|
||||
[ev_uint] = do_op_func,
|
||||
[ev_short] = do_op_func,
|
||||
[ev_double] = do_op_func,
|
||||
[ev_long] = 0,
|
||||
[ev_ulong] = 0,
|
||||
[ev_invalid] = do_op_func,
|
||||
};
|
||||
|
||||
static operation_t op_pointer[ev_type_count] = {
|
||||
do_op_pointer, // ev_void
|
||||
do_op_pointer, // ev_string
|
||||
do_op_pointer, // ev_float
|
||||
do_op_pointer, // ev_vector
|
||||
do_op_pointer, // ev_entity
|
||||
do_op_pointer, // ev_field
|
||||
do_op_pointer, // ev_func
|
||||
do_op_pointer, // ev_ptr
|
||||
do_op_pointer, // ev_quaternion
|
||||
do_op_pointer, // ev_int
|
||||
do_op_pointer, // ev_uint
|
||||
do_op_pointer, // ev_short
|
||||
do_op_pointer, // ev_double
|
||||
0, // ev_long
|
||||
0, // ev_ulong
|
||||
do_op_pointer, // ev_invalid
|
||||
[ev_void] = do_op_pointer,
|
||||
[ev_string] = do_op_pointer,
|
||||
[ev_float] = do_op_pointer,
|
||||
[ev_vector] = do_op_pointer,
|
||||
[ev_entity] = do_op_pointer,
|
||||
[ev_field] = do_op_pointer,
|
||||
[ev_func] = do_op_pointer,
|
||||
[ev_ptr] = do_op_pointer,
|
||||
[ev_quaternion] = do_op_pointer,
|
||||
[ev_int] = do_op_pointer,
|
||||
[ev_uint] = do_op_pointer,
|
||||
[ev_short] = do_op_pointer,
|
||||
[ev_double] = do_op_pointer,
|
||||
[ev_long] = 0,
|
||||
[ev_ulong] = 0,
|
||||
[ev_invalid] = do_op_pointer,
|
||||
};
|
||||
|
||||
static operation_t op_quaternion[ev_type_count] = {
|
||||
do_op_invalid, // ev_void
|
||||
do_op_invalid, // ev_string
|
||||
do_op_quaternion, // ev_float
|
||||
do_op_quatvect, // ev_vector
|
||||
do_op_invalid, // ev_entity
|
||||
do_op_invalid, // ev_field
|
||||
do_op_invalid, // ev_func
|
||||
do_op_invalid, // ev_ptr
|
||||
do_op_quaternion, // ev_quaternion
|
||||
do_op_quaternion, // ev_int
|
||||
do_op_quaternion, // ev_uint
|
||||
do_op_quaternion, // ev_short
|
||||
do_op_quaternion, // ev_double
|
||||
0, // ev_long
|
||||
0, // ev_ulong
|
||||
do_op_invalid, // ev_invalid
|
||||
[ev_void] = do_op_invalid,
|
||||
[ev_string] = do_op_invalid,
|
||||
[ev_float] = do_op_quaternion,
|
||||
[ev_vector] = do_op_quatvect,
|
||||
[ev_entity] = do_op_invalid,
|
||||
[ev_field] = do_op_invalid,
|
||||
[ev_func] = do_op_invalid,
|
||||
[ev_ptr] = do_op_invalid,
|
||||
[ev_quaternion] = do_op_quaternion,
|
||||
[ev_int] = do_op_quaternion,
|
||||
[ev_uint] = do_op_quaternion,
|
||||
[ev_short] = do_op_quaternion,
|
||||
[ev_double] = do_op_quaternion,
|
||||
[ev_long] = 0,
|
||||
[ev_ulong] = 0,
|
||||
[ev_invalid] = do_op_invalid,
|
||||
};
|
||||
|
||||
static operation_t op_int[ev_type_count] = {
|
||||
do_op_invalid, // ev_void
|
||||
do_op_invalid, // ev_string
|
||||
do_op_float, // ev_float
|
||||
do_op_vector, // ev_vector
|
||||
do_op_invalid, // ev_entity
|
||||
do_op_invalid, // ev_field
|
||||
do_op_invalid, // ev_func
|
||||
do_op_invalid, // ev_ptr
|
||||
do_op_quaternion, // ev_quaternion
|
||||
do_op_int, // ev_int
|
||||
do_op_uint, // ev_uint
|
||||
do_op_int, // ev_short
|
||||
do_op_double, // ev_double
|
||||
0, // ev_long
|
||||
0, // ev_ulong
|
||||
do_op_invalid, // ev_invalid
|
||||
[ev_void] = do_op_invalid,
|
||||
[ev_string] = do_op_invalid,
|
||||
[ev_float] = do_op_float,
|
||||
[ev_vector] = do_op_vector,
|
||||
[ev_entity] = do_op_invalid,
|
||||
[ev_field] = do_op_invalid,
|
||||
[ev_func] = do_op_invalid,
|
||||
[ev_ptr] = do_op_invalid,
|
||||
[ev_quaternion] = do_op_quaternion,
|
||||
[ev_int] = do_op_int,
|
||||
[ev_uint] = do_op_uint,
|
||||
[ev_short] = do_op_int,
|
||||
[ev_double] = do_op_double,
|
||||
[ev_long] = 0,
|
||||
[ev_ulong] = 0,
|
||||
[ev_invalid] = do_op_invalid,
|
||||
};
|
||||
|
||||
static operation_t op_uint[ev_type_count] = {
|
||||
do_op_invalid, // ev_void
|
||||
do_op_invalid, // ev_string
|
||||
do_op_float, // ev_float
|
||||
do_op_vector, // ev_vector
|
||||
do_op_invalid, // ev_entity
|
||||
do_op_invalid, // ev_field
|
||||
do_op_invalid, // ev_func
|
||||
do_op_invalid, // ev_ptr
|
||||
do_op_quaternion, // ev_quaternion
|
||||
do_op_uint, // ev_int
|
||||
do_op_uint, // ev_uint
|
||||
do_op_uint, // ev_short
|
||||
do_op_double, // ev_double
|
||||
0, // ev_long
|
||||
0, // ev_ulong
|
||||
do_op_invalid, // ev_invalid
|
||||
[ev_void] = do_op_invalid,
|
||||
[ev_string] = do_op_invalid,
|
||||
[ev_float] = do_op_float,
|
||||
[ev_vector] = do_op_vector,
|
||||
[ev_entity] = do_op_invalid,
|
||||
[ev_field] = do_op_invalid,
|
||||
[ev_func] = do_op_invalid,
|
||||
[ev_ptr] = do_op_invalid,
|
||||
[ev_quaternion] = do_op_quaternion,
|
||||
[ev_int] = do_op_uint,
|
||||
[ev_uint] = do_op_uint,
|
||||
[ev_short] = do_op_uint,
|
||||
[ev_double] = do_op_double,
|
||||
[ev_long] = 0,
|
||||
[ev_ulong] = 0,
|
||||
[ev_invalid] = do_op_invalid,
|
||||
};
|
||||
|
||||
static operation_t op_short[ev_type_count] = {
|
||||
do_op_invalid, // ev_void
|
||||
do_op_invalid, // ev_string
|
||||
do_op_float, // ev_float
|
||||
do_op_vector, // ev_vector
|
||||
do_op_invalid, // ev_entity
|
||||
do_op_invalid, // ev_field
|
||||
do_op_invalid, // ev_func
|
||||
do_op_invalid, // ev_ptr
|
||||
do_op_quaternion, // ev_quaternion
|
||||
do_op_int, // ev_int
|
||||
do_op_uint, // ev_uint
|
||||
do_op_short, // ev_short
|
||||
do_op_double, // ev_double
|
||||
0, // ev_long
|
||||
0, // ev_ulong
|
||||
do_op_invalid, // ev_invalid
|
||||
[ev_void] = do_op_invalid,
|
||||
[ev_string] = do_op_invalid,
|
||||
[ev_float] = do_op_float,
|
||||
[ev_vector] = do_op_vector,
|
||||
[ev_entity] = do_op_invalid,
|
||||
[ev_field] = do_op_invalid,
|
||||
[ev_func] = do_op_invalid,
|
||||
[ev_ptr] = do_op_invalid,
|
||||
[ev_quaternion] = do_op_quaternion,
|
||||
[ev_int] = do_op_int,
|
||||
[ev_uint] = do_op_uint,
|
||||
[ev_short] = do_op_short,
|
||||
[ev_double] = do_op_double,
|
||||
[ev_long] = 0,
|
||||
[ev_ulong] = 0,
|
||||
[ev_invalid] = do_op_invalid,
|
||||
};
|
||||
|
||||
static operation_t op_double[ev_type_count] = {
|
||||
do_op_invalid, // ev_void
|
||||
do_op_invalid, // ev_string
|
||||
do_op_float, // ev_float
|
||||
do_op_vector, // ev_vector
|
||||
do_op_invalid, // ev_entity
|
||||
do_op_invalid, // ev_field
|
||||
do_op_invalid, // ev_func
|
||||
do_op_invalid, // ev_ptr
|
||||
do_op_quaternion, // ev_quaternion
|
||||
do_op_int, // ev_int
|
||||
do_op_uint, // ev_uint
|
||||
do_op_short, // ev_short
|
||||
do_op_double, // ev_double
|
||||
0, // ev_long
|
||||
0, // ev_ulong
|
||||
do_op_invalid, // ev_invalid
|
||||
[ev_void] = do_op_invalid,
|
||||
[ev_string] = do_op_invalid,
|
||||
[ev_float] = do_op_float,
|
||||
[ev_vector] = do_op_vector,
|
||||
[ev_entity] = do_op_invalid,
|
||||
[ev_field] = do_op_invalid,
|
||||
[ev_func] = do_op_invalid,
|
||||
[ev_ptr] = do_op_invalid,
|
||||
[ev_quaternion] = do_op_quaternion,
|
||||
[ev_int] = do_op_int,
|
||||
[ev_uint] = do_op_uint,
|
||||
[ev_short] = do_op_short,
|
||||
[ev_double] = do_op_double,
|
||||
[ev_long] = 0,
|
||||
[ev_ulong] = 0,
|
||||
[ev_invalid] = do_op_invalid,
|
||||
};
|
||||
|
||||
static operation_t op_compound[ev_type_count] = {
|
||||
do_op_invalid, // ev_void
|
||||
do_op_invalid, // ev_string
|
||||
do_op_compound, // ev_float
|
||||
do_op_invalid, // ev_vector
|
||||
do_op_invalid, // ev_entity
|
||||
do_op_invalid, // ev_field
|
||||
do_op_invalid, // ev_func
|
||||
do_op_invalid, // ev_ptr
|
||||
do_op_invalid, // ev_quaternion
|
||||
do_op_compound, // ev_int
|
||||
do_op_compound, // ev_uint
|
||||
do_op_compound, // ev_short
|
||||
do_op_compound, // ev_double
|
||||
do_op_compound, // ev_long
|
||||
do_op_compound, // ev_ulong
|
||||
do_op_compound, // ev_invalid
|
||||
[ev_void] = do_op_invalid,
|
||||
[ev_string] = do_op_invalid,
|
||||
[ev_float] = do_op_compound,
|
||||
[ev_vector] = do_op_invalid,
|
||||
[ev_entity] = do_op_invalid,
|
||||
[ev_field] = do_op_invalid,
|
||||
[ev_func] = do_op_invalid,
|
||||
[ev_ptr] = do_op_invalid,
|
||||
[ev_quaternion] = do_op_invalid,
|
||||
[ev_int] = do_op_compound,
|
||||
[ev_uint] = do_op_compound,
|
||||
[ev_short] = do_op_compound,
|
||||
[ev_double] = do_op_compound,
|
||||
[ev_long] = do_op_compound,
|
||||
[ev_ulong] = do_op_compound,
|
||||
[ev_invalid] = do_op_compound,
|
||||
};
|
||||
|
||||
static operation_t *do_op[ev_type_count] = {
|
||||
op_void, // ev_void
|
||||
op_string, // ev_string
|
||||
op_float, // ev_float
|
||||
op_vector, // ev_vector
|
||||
op_entity, // ev_entity
|
||||
op_field, // ev_field
|
||||
op_func, // ev_func
|
||||
op_pointer, // ev_ptr
|
||||
op_quaternion, // ev_quaternion
|
||||
op_int, // ev_int
|
||||
op_uint, // ev_uint
|
||||
op_short, // ev_short
|
||||
op_double, // ev_double
|
||||
0, // ev_long
|
||||
0, // ev_ulong
|
||||
op_compound, // ev_invalid
|
||||
[ev_void] = op_void,
|
||||
[ev_string] = op_string,
|
||||
[ev_float] = op_float,
|
||||
[ev_vector] = op_vector,
|
||||
[ev_entity] = op_entity,
|
||||
[ev_field] = op_field,
|
||||
[ev_func] = op_func,
|
||||
[ev_ptr] = op_pointer,
|
||||
[ev_quaternion] = op_quaternion,
|
||||
[ev_int] = op_int,
|
||||
[ev_uint] = op_uint,
|
||||
[ev_short] = op_short,
|
||||
[ev_double] = op_double,
|
||||
[ev_long] = 0,
|
||||
[ev_ulong] = 0,
|
||||
[ev_invalid] = op_compound,
|
||||
};
|
||||
|
||||
static unaryop_t do_unary_op[ev_type_count];
|
||||
|
|
Loading…
Reference in a new issue