PIPS
|
#include "local.h"
Go to the source code of this file.
Macros | |
#define | FATAL(msg, value) {(void) fprintf(stderr,msg,value); exit(1); } |
#define | BOOL_UNDEF -1 |
some defines usefull to clean the code More... | |
#define | param_ref_p(P) (mode_reference_p(parameter_mode(P))) |
#define | arg_const_p(arg) |
#define | call_constant_p(C) (value_constant_p(entity_initial(call_function(C)))) |
#define | effect_may_or_must_p(my_effect) |
The following define may be replaced by #define ... More... | |
#define | effect_to_name(the_effect) entity_name(reference_variable(effect_any_reference(the_effect))) |
#define | entity_is_a_common_p(Ent) (type_area_p(entity_type(Ent))) |
#define | special_common(Ent) |
#define arg_const_p | ( | arg | ) |
Definition at line 46 of file flint_check.c.
#define BOOL_UNDEF -1 |
some defines usefull to clean the code
Definition at line 42 of file flint_check.c.
#define call_constant_p | ( | C | ) | (value_constant_p(entity_initial(call_function(C)))) |
Definition at line 51 of file flint_check.c.
#define effect_may_or_must_p | ( | my_effect | ) |
The following define may be replaced by #define ...
(true)
Definition at line 55 of file flint_check.c.
#define effect_to_name | ( | the_effect | ) | entity_name(reference_variable(effect_any_reference(the_effect))) |
Definition at line 59 of file flint_check.c.
#define entity_is_a_common_p | ( | Ent | ) | (type_area_p(entity_type(Ent))) |
Definition at line 62 of file flint_check.c.
Definition at line 38 of file flint_check.c.
#define param_ref_p | ( | P | ) | (mode_reference_p(parameter_mode(P))) |
Definition at line 43 of file flint_check.c.
#define special_common | ( | Ent | ) |
Definition at line 65 of file flint_check.c.
sometimes out...
la | a |
lt | list of actual arguments |
c | list of parameters |
Definition at line 222 of file flint_check.c.
References BOOL_UNDEF, call_function, call_intrinsic_p, CAR, entity_name, flint_message(), gen_last(), gen_length(), PARAMETER, parameter_type, and type_varargs_p.
Referenced by check_the_call().
be | e |
bp | p |
Definition at line 305 of file flint_check.c.
References basic_overloaded_p, basic_tag, basic_to_string(), call_function, entity_name, and flint_message().
Referenced by check_call_basic_and_dim(), and check_call_intrinsic().
bool check_call_basic_and_dim | ( | expression | exp, |
parameter | param, | ||
call | c, | ||
int | i | ||
) |
else
else
exp | xp |
param | aram |
Definition at line 367 of file flint_check.c.
References BOOL_UNDEF, check_call_basic(), check_call_dim(), exp, find_bd_expression(), and find_bd_parameter().
Referenced by check_call_one_type().
loose version
else
else
de | e |
dp | p |
Definition at line 336 of file flint_check.c.
References BOOL_UNDEF, call_function, entity_name, flint_message(), intptr_t, and number_of_elements().
Referenced by check_call_basic_and_dim(), and check_call_intrinsic().
bool check_call_intrinsic | ( | list | la, |
list __attribute__((unused)) | lt, | ||
call | c | ||
) |
check a call to the assign operator
other intrinsics
Definition at line 184 of file flint_check.c.
References basic_overloaded_p, BOOL_UNDEF, call_function, CAR, CDR, check_call_basic(), check_call_dim(), ENTITY_ASSIGN_P, EXPRESSION, and find_bd_expression().
Referenced by check_the_call().
FI: the last argument should be pure=TRUE since summary effects should not be touched
la | a |
lt | t |
the_fnct | he_fnct |
Definition at line 454 of file flint_check.c.
References CAR, CDR, check_call_one_mode(), db_get_memory_resource(), effects_to_list(), exp, EXPRESSION, gen_length(), list_undefined, module_local_name(), module_name(), ok, PARAMETER, and pips_debug.
bool check_call_one_mode | ( | expression | exp, |
parameter | param, | ||
entity | the_fnct, | ||
list | sefs_list, | ||
int | i | ||
) |
This function checks that a reference to a constant in a call may not be modified, if it could happen, a message is broadcast.
locally
else : control
exp | xp |
param | aram |
the_fnct | he_fnct |
sefs_list | efs_list |
Definition at line 499 of file flint_check.c.
References arg_const_p, CAR, CDR, EFFECT, effect_may_or_must_p, effect_to_name, effect_write_p, entity_name, exp, find_ith_formal_parameter(), flint_message(), and param_ref_p.
Referenced by check_call_mode_consistency().
bool check_call_one_type | ( | expression | exp, |
parameter | param, | ||
call | c, | ||
int | i | ||
) |
exp | xp |
param | aram |
Definition at line 287 of file flint_check.c.
References check_call_basic_and_dim(), and exp.
Referenced by check_call_types_compatibility().
la | a |
lt | t |
Definition at line 254 of file flint_check.c.
References CAR, check_call_one_type(), exp, EXPRESSION, gen_length(), ok, PARAMETER, and POP.
Referenced by check_the_call().
module | odule |
Definition at line 632 of file flint_check.c.
References CAR, CDR, check_one_common(), code_declarations, ENTITY, entity_initial, entity_is_a_common_p, module, special_common, and value_code.
Referenced by flinter().
local | ocal |
module | odule |
Definition at line 660 of file flint_check.c.
References area_layout, CAR, CDR, check_overlap_in_common(), ENDP, ENTITY, entity_local_name(), entity_module_name(), entity_name, entity_type, flint_message(), intptr_t, module, module_local_name(), pips_debug, position_in_the_area(), and type_area.
Referenced by check_commons().
bool check_overlap_in_common | ( | entity | the_common, |
entity | e1, | ||
int | inf1, | ||
int | sup1, | ||
entity | e2, | ||
int | inf2, | ||
int | sup2 | ||
) |
unused
testing overlap
else I must check basic compatibility
benefice du doute!
the_common | he_common |
e1 | 1 |
inf1 | nf1 |
sup1 | up1 |
e2 | 2 |
inf2 | nf2 |
sup2 | up2 |
Definition at line 735 of file flint_check.c.
References b1, b2, basic_complex_p, basic_float_p, basic_tag, entity_name, entity_type, find_bd_type_variable(), flint_message_2(), and module_local_name().
Referenced by check_one_common().
extern char *current_module_name; unused and modified
Definition at line 88 of file flint_check.c.
References BOOL_UNDEF, call_function, call_intrinsic_p, entity_name, entity_type, flint_message(), functional_result, type_functional, type_functional_p, and type_void_p.
Referenced by flint_instruction().
else
else
else
else
Errors in parameter modes are found out by effect computation. A second check, later, is meaningless.
return (check_call_mode_consistency(la, lt, the_fnct));
Definition at line 130 of file flint_check.c.
References BOOL_UNDEF, call_arguments, call_constant_p, call_function, call_intrinsic_p, check_call_args_number(), check_call_intrinsic(), check_call_types_compatibility(), entity_type, functional_parameters, gen_length(), type_functional, and type_functional_p.
Referenced by flint_call().
void check_the_reference | ( | reference | ref | ) |
ref | ef |
Definition at line 396 of file flint_check.c.
References base, basic_overloaded_p, CAR, CDR, control_type_in_expression(), entity_local_name(), entity_type, EXPRESSION, find_bd_type_variable(), flint_message(), gen_length(), is_basic_int, is_basic_overloaded, ok, ref, reference_indices, and reference_variable.
Referenced by flint_reference().
module | odule |
Definition at line 543 of file flint_check.c.
References area_layout, CAR, CDR, code_declarations, ENTITY, entity_initial, entity_name, entity_storage, entity_type, fprintf(), module, ram_offset, special_common, storage_ram, type_area, type_area_p, and value_code.
the_var | he_var |
inf | nf |
sup | up |
Definition at line 580 of file flint_check.c.
References base, basic_complex, basic_complex_p, basic_float, basic_float_p, basic_int, basic_int_p, basic_logical, basic_logical_p, basic_tag, entity_storage, entity_type, find_bd_type_variable(), intptr_t, is_basic_complex, is_basic_float, is_basic_int, is_basic_logical, number_of_elements(), pips_internal_error, ram_offset, and storage_ram.
Referenced by check_one_common().