PIPS
|
#include <stdio.h>
#include <string.h>
#include <limits.h>
#include <stdlib.h>
#include "linear.h"
#include "genC.h"
#include "ri.h"
#include "ri-util.h"
#include "database.h"
#include "bootstrap.h"
#include "misc.h"
#include "pipsdbm.h"
#include "parser_private.h"
#include "constants.h"
#include "resources.h"
#include "properties.h"
Go to the source code of this file.
Macros | |
#define | LOCAL static |
#define | GET_TYPE(h, e) ((basic)hash_get(h, (char*)(e))) |
Working with hash_table of basic. More... | |
#define | PUT_TYPE(h, e, b) hash_put(h, (char*)(e), (char*)(b)) |
#define | TC_DCOMPLEX get_bool_property("TYPE_CHECKER_DOUBLE_COMPLEX_EXTENSION") |
Type check double complex? More... | |
#define | TC_LONGDCOMPLEX get_bool_property("TYPE_CHECKER_LONG_DOUBLE_COMPLEX_EXTENSION") |
MB : Type check long double complex. More... | |
Variables | |
static hash_table | intrinsic_type_descriptor_mapping = hash_table_undefined |
Working with hash_table of basic.
Definition at line 89 of file bootstrap.c.
#define LOCAL static |
Definition at line 84 of file bootstrap.c.
#define PUT_TYPE | ( | h, | |
e, | |||
b | |||
) | hash_put(h, (char*)(e), (char*)(b)) |
Definition at line 90 of file bootstrap.c.
#define TC_DCOMPLEX get_bool_property("TYPE_CHECKER_DOUBLE_COMPLEX_EXTENSION") |
Type check double complex?
Definition at line 1605 of file bootstrap.c.
#define TC_LONGDCOMPLEX get_bool_property("TYPE_CHECKER_LONG_DOUBLE_COMPLEX_EXTENSION") |
MB : Type check long double complex.
Definition at line 1609 of file bootstrap.c.
type __attribute__ | ( | (unused) | ) |
Package : C3/union Author : Arnauld LESERVOT (leservot(a)limeil.cea.fr) Date :
Modified : 04 04 95 Documents: UNION.tex : `‘Extension de C3 aux unions de polyedres’' Comments :
WARNING
THOSE FUNCTIONS ARE AUTOMATICALLY DERIVED
FROM THE WEB SOURCES !
Ansi includes
Linear includes
Definition at line 4277 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeOverloadedResult(), MakeVoidParameter(), NIL, and type_undefined.
|
static |
Definition at line 1914 of file bootstrap.c.
References arguments_are_something().
Referenced by typing_concat_operator(), and typing_function_argument_type_to_return_type().
bool arguments_are_compatible | ( | call | c, |
hash_table | types | ||
) |
First item
Next item
types | ypes |
Definition at line 1965 of file bootstrap.c.
References b1, b2, basic_compatible_p, basic_undefined, basic_undefined_p, call_arguments, EXPRESSION, GET_TYPE, and MAP.
Referenced by typing_of_assign().
|
static |
Definition at line 1736 of file bootstrap.c.
References call_arguments, check_if_basics_ok(), and is_basic_complex_p().
Referenced by typing_function_argument_type_to_return_type().
|
static |
Definition at line 1741 of file bootstrap.c.
References call_arguments, check_if_basics_ok(), and is_basic_dcomplex_p().
Referenced by typing_function_argument_type_to_return_type().
|
static |
Definition at line 1726 of file bootstrap.c.
References call_arguments, check_if_basics_ok(), and is_basic_double_p().
Referenced by typing_function_argument_type_to_return_type().
|
static |
Definition at line 1705 of file bootstrap.c.
References call_arguments, check_if_basics_ok(), and is_basic_int_p().
Referenced by typing_function_argument_type_to_return_type().
|
static |
Definition at line 1933 of file bootstrap.c.
References arguments_are_something().
Referenced by typing_function_constant_complex().
|
static |
Definition at line 1939 of file bootstrap.c.
References arguments_are_something().
Referenced by typing_function_constant_dcomplex(), and typing_function_IntegerRealDouble_to_IntegerRealDouble().
|
static |
Definition at line 1908 of file bootstrap.c.
References arguments_are_something(), TC_DCOMPLEX, and TC_LONGDCOMPLEX.
Referenced by typing_arithmetic_operator(), typing_function_conversion_to_complex(), typing_function_conversion_to_dcomplex(), typing_function_conversion_to_numeric(), typing_function_IntegerRealDoubleComplex_to_IntegerRealDoubleReal(), and typing_power_operator().
|
static |
Definition at line 1901 of file bootstrap.c.
References arguments_are_something(), TC_DCOMPLEX, and TC_LONGDCOMPLEX.
Referenced by typing_relational_operator().
|
static |
Definition at line 1920 of file bootstrap.c.
References arguments_are_something().
Referenced by typing_function_argument_type_to_return_type(), and typing_logical_operator().
|
static |
MB.
Definition at line 1746 of file bootstrap.c.
References call_arguments, check_if_basics_ok(), and is_basic_longdcomplex_p().
Referenced by typing_function_argument_type_to_return_type().
|
static |
MB.
Definition at line 1731 of file bootstrap.c.
References call_arguments, check_if_basics_ok(), and is_basic_longdouble_p().
Referenced by typing_function_argument_type_to_return_type().
|
static |
MB.
Definition at line 1710 of file bootstrap.c.
References call_arguments, check_if_basics_ok(), and is_basic_longint_p().
Referenced by typing_function_argument_type_to_return_type().
|
static |
MB.
Definition at line 1715 of file bootstrap.c.
References call_arguments, check_if_basics_ok(), and is_basic_longlongint_p().
Referenced by typing_function_argument_type_to_return_type().
|
static |
Definition at line 1926 of file bootstrap.c.
References arguments_are_something().
Referenced by typing_function_RealDouble_to_Integer(), and typing_function_RealDouble_to_RealDouble().
|
static |
Definition at line 1954 of file bootstrap.c.
References arguments_are_something(), TC_DCOMPLEX, and TC_LONGDCOMPLEX.
Referenced by typing_function_RealDoubleComplex_to_RealDoubleComplex().
|
static |
Definition at line 1721 of file bootstrap.c.
References call_arguments, check_if_basics_ok(), and is_basic_real_p().
Referenced by typing_function_argument_type_to_return_type().
|
static |
Molka Becher: add of long int, long long int, long double and long double complex types.
Subroutine maybe be used as a function
The message should be language dependent, C or Fortran
Assume C
FI: assumes no pointers ever; still pretty much Fortran stuff
FI: nothing about strings?
if TC_DCOMPLEX, maybe they should not be incompatible?
Definition at line 1762 of file bootstrap.c.
References add_one_line_of_comment(), basic_complex, basic_complex_p, basic_float, basic_float_p, basic_int, basic_int_p, basic_logical_p, basic_overloaded_p, basic_string_p, basic_to_string(), call_arguments, call_function, entity_local_name(), EXPRESSION, expression_syntax, FOREACH, fortran_language_module_p(), get_current_module_entity(), GET_TYPE, hash_defined_p(), is_syntax_call, is_syntax_range, is_syntax_reference, pips_assert, pips_internal_error, reference_variable, stack_head(), context::stats, syntax_call, syntax_reference, and syntax_tag.
Referenced by arguments_are_character(), arguments_are_IR(), arguments_are_IRD(), arguments_are_IRDC(), arguments_are_IRDCS(), arguments_are_logical(), arguments_are_RD(), and arguments_are_RDC().
Definition at line 995 of file bootstrap.c.
References CONS, functional_parameters, functional_undefined, gen_length(), is_type_functional, make_functional(), make_type(), MakeCharacterParameter(), MakeCharacterResult(), MakeIntegerParameter(), NIL, PARAMETER, pips_assert, and type_undefined.
Referenced by CreateIntrinsics().
|
static |
Determine the longest basic among the arguments of c.
first time
after first argument
Definition at line 1615 of file bootstrap.c.
References b1, b2, basic_undefined, call_arguments, copy_basic(), EXPRESSION, GET_TYPE, is_inferior_basic(), and MAP.
Referenced by typing_arithmetic_operator(), typing_function_IntegerRealDouble_to_IntegerRealDouble(), typing_function_IntegerRealDoubleComplex_to_IntegerRealDoubleReal(), typing_function_RealDouble_to_Integer(), typing_function_RealDouble_to_RealDouble(), typing_function_RealDoubleComplex_to_RealDoubleComplex(), and typing_relational_operator().
Create all intrinsics, skipping user-defined one
Creates the dynamic and static areas for the super global arrays such as the logical unit array (see below).
The current entity is unknown, but for a TOP-LEVEL:TOP-LEVEL which is used to create the logical unit array for IO effects
create hidden variables to modelize the abstract states defined by the libc:
seed for random function package
heap abstract state
Create hidden variable to modelize the abstract state of : temporary arry for memmove function. Molka Becher
Create the empty label
FI: I suppress the owner filed to make the database moveable
FC: the content must be consistent with pipsdbm/methods.h
workspace | orkspace |
Definition at line 5619 of file bootstrap.c.
References concatenate(), CreateAreas(), CreateHeapAbstractState(), CreateIntrinsics(), CreateLogicalUnits(), CreateMemmoveAbstractState(), CreateRandomSeed(), CreateTimeSeed(), db_get_module_list(), DB_PUT_MEMORY_RESOURCE, db_resource_p(), DEFAULT_ENTITY_KIND, entity_domain, gen_array_free(), gen_array_item(), gen_array_nitems(), int, is_value_constant, LABEL_PREFIX, make_constant_litteral(), make_entity, make_storage_rom(), make_value(), MakeTypeStatement(), MODULE_SEP_STRING, pips_debug, pips_internal_error, set_add_element(), set_free(), set_make(), set_string, strdup(), and TOP_LEVEL_MODULE_NAME.
Referenced by create_workspace().
expression cast_constant | ( | expression | exp_constant, |
basic | to_basic, | ||
type_context_p | context | ||
) |
Convert if necessary
Two arguments, with imagine party
One argument, no imagine party
DCOMPLEX -> COMPLEX
Conversion implicit
Conversion explicit
COMPLEX -> DCOMPLEX
Conversion implicit
Conversion explicit
exp_constant | xp_constant |
to_basic | o_basic |
context | ontext |
Definition at line 1343 of file bootstrap.c.
References basic_complex, basic_complex_p, call_arguments, call_function, CAR, CDR, CMPLX_GENERIC_CONVERSION_NAME, CONS, convert_constant(), copy_entity(), CreateIntrinsic(), DCMPLX_GENERIC_CONVERSION_NAME, DOUBLE_LENGTH, entity_constant_p, ENTITY_CONVERSION_CMPLX_P, ENTITY_CONVERSION_DCMPLX_P, ENTITY_IMPLIED_CMPLX_P, ENTITY_IMPLIED_DCMPLX_P, ENTITY_UNARY_MINUS_P, exp, EXPRESSION, expression_syntax, free_basic(), get_bool_property(), IMPLIED_COMPLEX_NAME, IMPLIED_DCOMPLEX_NAME, is_basic_float, is_syntax_call, make_basic_float(), make_call(), make_constant_entity(), make_expression(), make_syntax(), NIL, normalized_undefined, REAL_LENGTH, syntax_call, and syntax_call_p.
Referenced by insert_cast(), and simplification_conversion().
C only because of pointer.
e.g. atof()
Definition at line 573 of file bootstrap.c.
References CONS, cp, functional_parameters, functional_undefined, is_type_functional, make_dummy_unknown(), make_functional(), make_mode_value(), make_parameter(), make_qualifier_const(), make_type(), MakeCharacterResult(), MakeDoubleprecisionResult(), NIL, PARAMETER, pips_assert, QUALIFIER, type_consistent_p(), type_undefined, type_variable, and variable_qualifiers.
Referenced by CreateIntrinsics().
Definition at line 959 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeCharacterParameter(), MakeCharacterResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
Definition at line 931 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeCharacterParameter(), MakeIntegerResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
Definition at line 945 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeCharacterParameter(), MakeLogicalResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
|
static |
UNIT FMT REC IOSTAT ERR END IOLIST
FILE STATUS ACCESS FORM BLANK RECL EXIST OPENED
NUMBER NAMED NAME SEQUENTIAL DIRECT FORMATTED
UNFORMATTED NEXTREC
Definition at line 3671 of file bootstrap.c.
References basic_undefined, call_arguments, and check_io_list().
Referenced by CreateIntrinsics().
|
static |
UNIT FMT REC IOSTAT ERR END IOLIST
FILE STATUS ACCESS FORM BLANK RECL EXIST OPENED
NUMBER NAMED NAME SEQUENTIAL DIRECT FORMATTED
UNFORMATTED NEXTREC
Definition at line 3636 of file bootstrap.c.
References basic_undefined, call_arguments, and check_io_list().
Referenced by CreateIntrinsics().
|
static |
UNIT FMT REC IOSTAT ERR END IOLIST
FILE STATUS ACCESS FORM BLANK RECL EXIST OPENED
NUMBER NAMED NAME SEQUENTIAL DIRECT FORMATTED
UNFORMATTED NEXTREC
Definition at line 3687 of file bootstrap.c.
References basic_undefined, call_arguments, and check_io_list().
Referenced by CreateIntrinsics().
|
static |
Definition at line 3719 of file bootstrap.c.
References add_one_line_of_comment(), basic_string_p, basic_undefined, call_arguments, CAR, exp, EXPRESSION, GET_TYPE, NIL, stack_head(), and context::stats.
Referenced by CreateIntrinsics().
|
static |
Verify if all the arguments basic of function C are INTEGER If there is no argument, I return TRUE.
Definition at line 1644 of file bootstrap.c.
References EXPRESSION, GET_TYPE, and MAP.
Referenced by arguments_are_complex(), arguments_are_dcomplex(), arguments_are_double(), arguments_are_integer(), arguments_are_longdcomplex(), arguments_are_longdouble(), arguments_are_longinteger(), arguments_are_longlonginteger(), and arguments_are_real().
|
static |
UNIT FMT REC IOSTAT ERR END IOLIST
FILE STATUS ACCESS FORM BLANK RECL EXIST OPENED
NUMBER NAMED NAME SEQUENTIAL DIRECT FORMATTED
UNFORMATTED NEXTREC
Definition at line 3653 of file bootstrap.c.
References basic_undefined, call_arguments, and check_io_list().
Referenced by CreateIntrinsics().
|
static |
specifier must be UNIT= FMT=...
args | of expression |
Definition at line 3504 of file bootstrap.c.
References add_one_line_of_comment(), call_arguments, call_function, CAR, CDR, check_spec(), entity_local_name(), EXPRESSION, expression_syntax, gen_length(), gen_true2(), is_access_specifier(), is_blank_specifier(), is_direct_specifier(), is_end_specifier(), is_err_specifier(), is_exist_specifier(), is_file_specifier(), is_form_specifier(), is_format_specifier(), is_formated_specifier(), is_iostat_specifier(), is_name_specifier(), is_named_specifier(), is_nextrec_specifier(), is_number_specifier(), is_opened_specifier(), is_recl_specifier(), is_record_specifier(), is_sequential_specifier(), is_status_specifier(), is_unformated_specifier(), is_unit_specifier(), type_context_t::number_of_error, pips_assert, stack_head(), type_context_t::stats, syntax_call, and syntax_call_p.
Referenced by check_backspace(), check_close(), check_endfile(), check_inquire(), check_open(), check_read_write(), and check_rewind().
bool check_loop_range | ( | range | r, |
hash_table | types | ||
) |
Definition at line 292 of file type_checker.c.
References basic_float_p, basic_int_p, GET_TYPE, range_increment, range_lower, and range_upper.
Referenced by typing_implied_do().
|
static |
UNIT FMT REC IOSTAT ERR END IOLIST
FILE STATUS ACCESS FORM BLANK RECL EXIST OPENED
NUMBER NAMED NAME SEQUENTIAL DIRECT FORMATTED
UNFORMATTED NEXTREC
Definition at line 3620 of file bootstrap.c.
References basic_undefined, call_arguments, and check_io_list().
Referenced by CreateIntrinsics().
|
static |
UNIT FMT REC IOSTAT ERR END IOLIST
FILE STATUS ACCESS FORM BLANK RECL EXIST OPENED
NUMBER NAMED NAME SEQUENTIAL DIRECT FORMATTED
UNFORMATTED NEXTREC
Definition at line 3603 of file bootstrap.c.
References basic_undefined, call_arguments, and check_io_list().
Referenced by CreateIntrinsics().
|
static |
UNIT FMT REC IOSTAT ERR END IOLIST
FILE STATUS ACCESS FORM BLANK RECL EXIST OPENED
NUMBER NAMED NAME SEQUENTIAL DIRECT FORMATTED
UNFORMATTED NEXTREC
Definition at line 3703 of file bootstrap.c.
References basic_undefined, call_arguments, and check_io_list().
Referenced by CreateIntrinsics().
|
static |
else ok
not allowed
checked!
Definition at line 3474 of file bootstrap.c.
References add_one_line_of_comment(), same_string_p, stack_head(), and context::stats.
Referenced by check_io_list().
Definition at line 876 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeComplexParameter(), MakeComplexResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
Definition at line 849 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeComplexParameter(), MakeRealResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
INT -> REAL
INT -> DOUBLE
INT -> COMPLEX
INT -> DCOMPLEX
REAL -> INT
REAL -> DOUBLE
REAL -> COMPLEX
REAL -> DCOMPLEX
DOUBLE -> INT
DOUBLE -> REAL
DOUBLE -> COMPLEX
DOUBLE -> DCOMPLEX
to_basic | o_basic |
Definition at line 1253 of file bootstrap.c.
References basic_complex, basic_complex_p, basic_equal_p(), basic_float, basic_float_p, basic_int_p, call_function, convert_constant_from_double_to_complex(), convert_constant_from_double_to_dcomplex(), convert_constant_from_double_to_int(), convert_constant_from_double_to_real(), convert_constant_from_int_to_complex(), convert_constant_from_int_to_dcomplex(), convert_constant_from_int_to_double(), convert_constant_from_int_to_real(), convert_constant_from_real_to_complex(), convert_constant_from_real_to_dcomplex(), convert_constant_from_real_to_double(), convert_constant_from_real_to_int(), copy_call(), entity_basic(), and entity_constant_p.
Referenced by cast_constant().
DOUBLE -> COMPLEX e.g: CMPLX(-5.9D5) => (-5.9E5, 0.0)
Definition at line 1187 of file bootstrap.c.
References convert_constant_from_double_to_real(), convert_constant_from_real_to_complex(), and free_call().
Referenced by convert_constant().
DOUBLE -> DCOMPLEX e.g: DCMPLX(-5.9D5) => (-5.9D5, 0.0)
Conversion explicit
Conversion inplicit
Definition at line 1207 of file bootstrap.c.
References CONS, copy_call(), CreateIntrinsic(), DCMPLX_GENERIC_CONVERSION_NAME, DOUBLE_LENGTH, EXPRESSION, get_bool_property(), IMPLIED_DCOMPLEX_NAME, is_basic_float, is_syntax_call, make_call(), make_constant_entity(), make_expression(), make_syntax(), NIL, and normalized_undefined.
Referenced by convert_constant(), convert_constant_from_int_to_dcomplex(), and convert_constant_from_real_to_dcomplex().
DOUBLE -> INT e.g: INT(-5.9D2) => -590.
Definition at line 1153 of file bootstrap.c.
References convert_constant_from_double_to_real(), convert_constant_from_real_to_int(), and free_call().
Referenced by convert_constant().
DOUBLE -> REAL e.g: REAL(-5.9D-2) => -5.9E-2.
There is not D, e.g: 5.496
Definition at line 1127 of file bootstrap.c.
References call_function, entity_local_name(), is_basic_float, make_call(), make_constant_entity(), NIL, and REAL_LENGTH.
Referenced by convert_constant(), convert_constant_from_double_to_complex(), and convert_constant_from_double_to_int().
INT -> COMPLEX e.g: CMPLX(-5) => (-5.0, 0.0)
Definition at line 1197 of file bootstrap.c.
References convert_constant_from_int_to_real(), convert_constant_from_real_to_complex(), and free_call().
Referenced by convert_constant().
INT -> DCOMPLEX e.g: DCMPLX(-5) => (-5D0, 0.0D0)
Definition at line 1242 of file bootstrap.c.
References convert_constant_from_double_to_dcomplex(), convert_constant_from_int_to_double(), and free_call().
Referenced by convert_constant().
INT -> DOUBLE e.g: DBLE(10) => 10.0.
Definition at line 1075 of file bootstrap.c.
References call_function, DOUBLE_LENGTH, entity_local_name(), is_basic_float, make_call(), make_constant_entity(), and NIL.
Referenced by convert_constant(), and convert_constant_from_int_to_dcomplex().
Definition at line 1063 of file bootstrap.c.
References call_function, entity_local_name(), is_basic_float, make_call(), make_constant_entity(), NIL, and REAL_LENGTH.
Referenced by convert_constant(), and convert_constant_from_int_to_complex().
REAL -> COMPLEX e.g: CMPLX(-5.9E5) => (-5.9E5, 0.0)
Conversion explicit
Conversion inplicit
Definition at line 1163 of file bootstrap.c.
References CMPLX_GENERIC_CONVERSION_NAME, CONS, copy_call(), CreateIntrinsic(), EXPRESSION, get_bool_property(), IMPLIED_COMPLEX_NAME, is_basic_float, is_syntax_call, make_call(), make_constant_entity(), make_expression(), make_syntax(), NIL, normalized_undefined, and REAL_LENGTH.
Referenced by convert_constant(), convert_constant_from_double_to_complex(), and convert_constant_from_int_to_complex().
REAL -> DCOMPLEX e.g: DCMPLX(-5.9E5) => (-5.9D5, 0.0D0)
Definition at line 1232 of file bootstrap.c.
References convert_constant_from_double_to_dcomplex(), convert_constant_from_real_to_double(), and free_call().
Referenced by convert_constant().
REAL -> DOUBLE e.g: DBLE(-5.9E-2) => -5.9D-2.
There is not E, e.g: 5.496
Definition at line 1101 of file bootstrap.c.
References call_function, DOUBLE_LENGTH, entity_local_name(), is_basic_float, make_call(), make_constant_entity(), and NIL.
Referenced by convert_constant(), and convert_constant_from_real_to_dcomplex().
REAL -> INT e.g: INT(-5.9E2) => -590.
Definition at line 1087 of file bootstrap.c.
References call_function, entity_local_name(), INT_LENGTH, is_basic_int, make_call(), make_constant_entity(), and NIL.
Referenced by convert_constant(), and convert_constant_from_double_to_int().
added to handle xxxrandxxx functions.
Amira Mensi and then generalized for other hidden libc variables
First a dummy function - close to C one "crt0()" - in order to
entity for random seed or other abstract states like heap: It is an unsigned int.
make_storage(is_storage_ram, make_ram(entity_undefined, DynamicArea, 0, NIL))
Definition at line 236 of file bootstrap.c.
References ABSTRACT_LOCATION, AddPackageToName(), code_initializations, DEFAULT_ENTITY_KIND, DEFAULT_INTEGER_TYPE_SIZE, EFFECTS_PACKAGE, ENTITY_STATIC_AREA, entity_undefined, entity_undefined_p, FindEntity(), is_storage_ram, is_storage_rom, is_type_area, is_type_functional, is_type_void, is_value_code, is_value_unknown, make_area(), make_code(), make_entity, make_functional(), make_language_unknown(), make_ram(), make_scalar_integer_type(), make_sequence(), make_storage(), make_type(), make_value(), NIL, reset_current_module_entity(), set_current_module_entity(), STATIC_AREA_LOCAL_NAME, strdup(), TOP_LEVEL_MODULE_NAME, and UU.
Referenced by CreateHeapAbstractState(), CreateMemmoveAbstractState(), CreateRandomSeed(), and CreateTimeSeed().
void CreateAreas | ( | void | ) |
cproto-generated files
Definition at line 104 of file bootstrap.c.
References ABSTRACT_LOCATION, AddPackageToName(), DYNAMIC_AREA_LOCAL_NAME, ENTITY_DYNAMIC_AREA, ENTITY_STATIC_AREA, is_storage_rom, is_type_area, is_value_unknown, make_area(), make_entity, make_storage(), make_type(), make_value(), NIL, STATIC_AREA_LOCAL_NAME, TOP_LEVEL_MODULE_NAME, and UU.
Referenced by bootstrap().
|
static |
Definition at line 310 of file bootstrap.c.
References add_abstract_state_variable(), add_thread_safe_variable(), CreateAbstractStateVariable(), MALLOC_EFFECTS_NAME, and MALLOC_EFFECTS_PACKAGE_NAME.
Referenced by bootstrap().
void CreateIntrinsics | ( | set | module_list | ) |
The table of intrinsic functions. this table is used at the begining of linking to create Fortran operators, commands and intrinsic functions.
Functions with a variable number of arguments are declared with INT_MAX arguments.
Nga Nguyen 27/06/2003 Fuse the tables of intrinsics for C and Fortran. Since there are differences between some kind of operators, such as in Fortran, "+" is only applied to arithmetic numbers, in C, "+" is also applied to pointer, the typing functions are different. So in some cases, we have to rename the operators
Pragma can be represented in the pips IR as a list of expression so new functions/intrinsics are needed. For exmaple to represent OMP pragmas, following intrinscs are needed: 1 - omp, parallel and for which are constant so with 0 argument, 2 - the colom poperator (for reduction) that takes two arguments 3 - private and reduction that takes a variable number of arguments.
internal inverse operator...
FORTRAN IO statement
Control statement
Arnauld Leservot, code CEA
(0.,1.) -> switched to a function call...
Bit manipulation functions : ISO/IEC 1539
These operators are used within the OPTIMIZE transformation in order to manipulate operators such as n-ary add and multiply or multiply-add operators ( JZ - sept 98)
integer combined multiply add or sub - FC oct 2005
Here are C intrinsics arranged in the order of the standard ISO/IEC 9899:TC2. MB
ISO 6.5.2.3 structure and union members
ISO 6.5.2.4 postfix increment and decrement operators, real or pointer type operand
ISO 6.5.3.1 prefix increment and decrement operators, real or pointer type operand
ISO 6.5.3.2 address and indirection operators, add pointer type
ISO 6.5.3.3 unary arithmetic operators
Unuary minus : ALREADY EXIST (FORTRAN) {UNARY_MINUS_OPERATOR_NAME, 1, default_intrinsic_type, typing_arithmetic_operator, 0},
ISO 6.5.5 multiplicative operators : ALREADY EXIST (FORTRAN) {MULTIPLY_OPERATOR_NAME, 2, default_intrinsic_type, typing_arithmetic_operator, 0}, {DIVIDE_OPERATOR_NAME, 2, default_intrinsic_type, typing_arithmetic_operator, 0},
ISO 6.5.6 additive operators, arithmetic types or pointer + integer type
ISO 6.5.7 bitwise shift operators
ISO 6.5.8 relational operators,arithmetic or pointer types
ISO 6.5.9 equality operators, return 0 or 1
ISO 6.5.10 bitwise AND operator
ISO 6.5.11 bitwise exclusive OR operator
ISO 6.5.12 bitwise inclusive OR operator
ISO 6.5.13 logical AND operator
ISO 6.5.14 logical OR operator
ISO 6.5.15 conditional operator
ISO 6.5.16.1 simple assignment : ALREADY EXIST (FORTRAN) {ASSIGN_OPERATOR_NAME, 2, default_intrinsic_type, typing_of_assign, 0},
ISO 6.5.16.2 compound assignments
ISO 6.5.17 comma operator
intrinsic to handle C initialization
include <assert.h>
does not return
include <complex.h>
include <ctype.h>
End ctype.h
Real type is void -> unsigned short int **
include <errno.h>
{"errno", 0, overloaded_to_integer_type, 0, 0},
bits/errno.h
include <fenv.h>
include <float.h>
{"__flt_rounds", 1, void_to_integer_type, 0, 0},
include <inttypes.h>
include <iso646.h>
{"_sysconf", 1, integer_to_integer_type, 0, 0},
{"localeconv", 1, default_intrinsic_type, 0, 0}, {"dcgettext", 3, default_intrinsic_type, 0, 0}, {"dgettext", 2, default_intrinsic_type, 0, 0}, {"gettext", 1, default_intrinsic_type, 0, 0}, {"textdomain", 1, default_intrinsic_type, 0, 0}, {"bindtextdomain", 2, default_intrinsic_type, 0, 0}, {"wdinit", 1, void_to_integer_type, 0 ,0}, {"wdchkind", 1, overloaded_to_integer_type, 0 ,0}, {"wdbindf", 3, overloaded_to_integer_type, 0 ,0}, {"wddelim", 3, default_intrinsic_type, 0, 0}, {"mcfiller", 1, void_to_overloaded_type, 0, 0}, {"mcwrap", 1, void_to_integer_type, 0 ,0},
include <limits.h>
include <locale.h>
include <math.h>
GNU C Library
End math.h
same name in stdlib {"ecvt", 4, default_intrinsic_type, 0, 0}, {"fcvt", 4, default_intrinsic_type, 0, 0}, {"gcvt", 3, default_intrinsic_type, 0, 0}, {"strtod", 2, overloaded_to_double_type, 0, 0},
include <setjmp.h>
include <signal.h>
include <stdarg.h>
include <stdbool.h>
include <stddef.h>
include <stdint.h>
include <stdio.h>
same name in stdlib {"getopt", 3, overloaded_to_integer_type, 0, 0}, {"getsubopt", 3, default_intrinsic_type, 0, 0},
C IO system functions in man -S 2. The typing could be refined. See unistd.h
2 or 3 arguments
returns ssize_t
{FCNTL_FUNCTION_NAME, (INT_MAX), overloaded_to_integer_type, 0, 0},
2 or 3 arguments of various types
located with fcntl.h
include <stdlib.h>
void -> long int
include <string.h>
include <tgmath.h>
include <time.h>
include <wchar.h>
include <wctype.h>
netdb.h
include <fcntl.h>
OMP
BSD <err.h>
F95
F2003
PIPS run-time support for C code generation
Source code located in validation/Hyperplane/run_time.src for the time being.
assembly function
PIPS intrinsics to simulate various effects
PIRE
PI necessary calls
module_list | odule_list |
Definition at line 4417 of file bootstrap.c.
References __ERRNO_LOCATION_OPERATOR_NAME, __FILBUF_FUNCTION_NAME, __FILSBUF_FUNCTION_NAME, __H_ERRNO_LOCATION_OPERATOR_NAME, _EXIT_FUNCTION_NAME, _IO_GETC_FUNCTION_NAME, _IO_PUTC_FUNCTION_NAME, _TOLOWER_OPERATOR_NAME, _TOUPPER_OPERATOR_NAME, A614_FUNCTION_NAME, ABORT_FUNCTION_NAME, ABS_OPERATOR_NAME, ACOS_OPERATOR_NAME, ACOSF_OPERATOR_NAME, ACOSHF_OPERATOR_NAME, ACOSHL_OPERATOR_NAME, ACOSL_OPERATOR_NAME, ADDRESS_OF_OPERATOR_NAME, AIMAG_CONVERSION_NAME, AINT_CONVERSION_NAME, ALLOCA_FUNCTION_NAME, ALLOCATE_FUNCTION_NAME, ALOG10_OPERATOR_NAME, ALOG_OPERATOR_NAME, AMAX0_OPERATOR_NAME, AMAX1_OPERATOR_NAME, AMIN0_OPERATOR_NAME, AMIN1_OPERATOR_NAME, AND_OPERATOR_NAME, ANINT_CONVERSION_NAME, ASIN_OPERATOR_NAME, ASINF_OPERATOR_NAME, ASINHF_OPERATOR_NAME, ASINHL_OPERATOR_NAME, ASINL_OPERATOR_NAME, ASM_FUNCTION_NAME, ASSERT_FAIL_FUNCTION_NAME, ASSERT_FUNCTION_NAME, ASSIGN_OPERATOR_NAME, ASSIGN_SUBSTRING_FUNCTION_NAME, assign_substring_type(), ATAN2_OPERATOR_NAME, ATAN2F_OPERATOR_NAME, ATAN2L_OPERATOR_NAME, ATAN_OPERATOR_NAME, ATANF_OPERATOR_NAME, ATANHF_OPERATOR_NAME, ATANHL_OPERATOR_NAME, ATANL_OPERATOR_NAME, ATEXIT_FUNCTION_NAME, ATOF_FUNCTION_NAME, ATOI_FUNCTION_NAME, ATOL_FUNCTION_NAME, ATOLL_FUNCTION_NAME, ATOQ_FUNCTION_NAME, BACKSPACE_FUNCTION_NAME, BIT_SIZE_OPERATOR_NAME, BITWISE_AND_OPERATOR_NAME, BITWISE_AND_UPDATE_OPERATOR_NAME, BITWISE_NOT_OPERATOR_NAME, BITWISE_OR_OPERATOR_NAME, BITWISE_OR_UPDATE_OPERATOR_NAME, BITWISE_XOR_OPERATOR_NAME, BITWISE_XOR_UPDATE_OPERATOR_NAME, BRACE_INTRINSIC, BREAK_FUNCTION_NAME, BSEARCH_FUNCTION_NAME, BTEST_OPERATOR_NAME, BTOWC_FUNCTION_NAME, BUFFERIN_FUNCTION_NAME, BUFFEROUT_FUNCTION_NAME, C_164A_FUNCTION_NAME, C_ABS_FUNCTION_NAME, C_ACOS_OPERATOR_NAME, C_ACOSH_OPERATOR_NAME, C_AND_OPERATOR_NAME, C_ASIN_OPERATOR_NAME, C_ASINH_OPERATOR_NAME, C_ATAN2_OPERATOR_NAME, C_ATAN_OPERATOR_NAME, C_ATANH_OPERATOR_NAME, C_CABS_OPERATOR_NAME, C_CCOS_OPERATOR_NAME, C_CEXP_OPERATOR_NAME, C_CLOG_OPERATOR_NAME, C_CLOSE_FUNCTION_NAME, C_COS_OPERATOR_NAME, C_COSH_OPERATOR_NAME, C_CSIN_OPERATOR_NAME, C_CSQRT_OPERATOR_NAME, C_EQUAL_OPERATOR_NAME, C_EXP_OPERATOR_NAME, C_GREATER_OR_EQUAL_OPERATOR_NAME, C_GREATER_THAN_OPERATOR_NAME, C_LESS_OR_EQUAL_OPERATOR_NAME, C_LESS_THAN_OPERATOR_NAME, C_LOC_FUNCTION_NAME, C_LOG10_OPERATOR_NAME, C_LOG_OPERATOR_NAME, C_MODULO_OPERATOR_NAME, C_NON_EQUAL_OPERATOR_NAME, C_NOT_OPERATOR_NAME, C_OPEN_FUNCTION_NAME, C_OR_OPERATOR_NAME, C_READ_FUNCTION_NAME, C_RETURN_FUNCTION_NAME, C_REWIND_FUNCTION_NAME, C_SIN_OPERATOR_NAME, C_SINH_OPERATOR_NAME, C_SQRT_OPERATOR_NAME, C_TAN_OPERATOR_NAME, C_TANH_OPERATOR_NAME, C_WRITE_FUNCTION_NAME, CABS_OPERATOR_NAME, CABSF_OPERATOR_NAME, CABSL_OPERATOR_NAME, CACOS_OPERATOR_NAME, CACOSF_OPERATOR_NAME, CACOSH_OPERATOR_NAME, CACOSHF_OPERATOR_NAME, CACOSHL_OPERATOR_NAME, CACOSL_OPERATOR_NAME, CALLOC_FUNCTION_NAME, CARG_OPERATOR_NAME, CARGF_OPERATOR_NAME, CARGL_OPERATOR_NAME, CASE_FUNCTION_NAME, CASIN_OPERATOR_NAME, CASINF_OPERATOR_NAME, CASINH_OPERATOR_NAME, CASINHF_OPERATOR_NAME, CASINHL_OPERATOR_NAME, CASINL_OPERATOR_NAME, CATAN_OPERATOR_NAME, CATANF_OPERATOR_NAME, CATANH_OPERATOR_NAME, CATANHF_OPERATOR_NAME, CATANHL_OPERATOR_NAME, CATANL_OPERATOR_NAME, CBRT_OPERATOR_NAME, CBRTF_OPERATOR_NAME, CBRTL_OPERATOR_NAME, CCOS_OPERATOR_NAME, CCOSF_OPERATOR_NAME, CCOSH_OPERATOR_NAME, CCOSHF_OPERATOR_NAME, CCOSHL_OPERATOR_NAME, CCOSL_OPERATOR_NAME, CDABS_OPERATOR_NAME, CDCOS_OPERATOR_NAME, CDEXP_OPERATOR_NAME, CDLOG_OPERATOR_NAME, CDSIN_OPERATOR_NAME, CDSQRT_OPERATOR_NAME, CEIL_OPERATOR_NAME, CEILF_OPERATOR_NAME, CEILL_OPERATOR_NAME, CEXP_OPERATOR_NAME, CEXPF_OPERATOR_NAME, CEXPL_OPERATOR_NAME, char_pointer_to_double_type(), CHAR_TO_INT_CONVERSION_NAME, character_to_character_type(), character_to_integer_type(), character_to_logical_type(), check_backspace(), check_close(), check_endfile(), check_format(), check_inquire(), check_open(), check_read_write(), check_rewind(), CIMAG_OPERATOR_NAME, CIMAGF_OPERATOR_NAME, CIMAGL_OPERATOR_NAME, CLEARERR_FUNCTION_NAME, CLOCK_FUNCTION_NAME, CLOCK_GETTIME_FUNCTION_NAME, CLOG_OPERATOR_NAME, CLOGF_OPERATOR_NAME, CLOGL_OPERATOR_NAME, CLOSE_FUNCTION_NAME, CMPLX_GENERIC_CONVERSION_NAME, COMMA_OPERATOR_NAME, complex_to_complex_type(), complex_to_real_type(), CONCATENATION_FUNCTION_NAME, CONDITIONAL_OPERATOR_NAME, CONJ_OPERATOR_NAME, CONJF_OPERATOR_NAME, CONJG_OPERATOR_NAME, CONJL_OPERATOR_NAME, CONTINUE_FUNCTION_NAME, COPYSIGN_OPERATOR_NAME, COPYSIGNF_OPERATOR_NAME, COPYSIGNL_OPERATOR_NAME, COS_OPERATOR_NAME, COSF_OPERATOR_NAME, COSH_OPERATOR_NAME, COSHF_OPERATOR_NAME, COSHL_OPERATOR_NAME, COSL_OPERATOR_NAME, CPOW_OPERATOR_NAME, CPOWF_OPERATOR_NAME, CPOWL_OPERATOR_NAME, CPROJ_OPERATOR_NAME, CPROJF_OPERATOR_NAME, CPROJL_OPERATOR_NAME, CPU_TIME_FUNCTION_NAME, CREAL_OPERATOR_NAME, CREALF_OPERATOR_NAME, CREALL_OPERATOR_NAME, CREAT64_FUNCTION_NAME, CREAT_FUNCTION_NAME, CSIN_OPERATOR_NAME, CSINF_OPERATOR_NAME, CSINH_OPERATOR_NAME, CSINHF_OPERATOR_NAME, CSINHL_OPERATOR_NAME, CSINL_OPERATOR_NAME, CSQRT_OPERATOR_NAME, CSQRTF_OPERATOR_NAME, CSQRTL_OPERATOR_NAME, CTAN_OPERATOR_NAME, CTANF_OPERATOR_NAME, CTANH_OPERATOR_NAME, CTANHF_OPERATOR_NAME, CTANHL_OPERATOR_NAME, CTANL_OPERATOR_NAME, CTERMID_FUNCTION_NAME, CTYPE_B_LOC_OPERATOR_NAME, CUSERID_FUNCTION_NAME, DABS_OPERATOR_NAME, DACOS_OPERATOR_NAME, DASIN_OPERATOR_NAME, DATA_LIST_FUNCTION_NAME, DATAN2_OPERATOR_NAME, DATAN_OPERATOR_NAME, DBLE_GENERIC_CONVERSION_NAME, DCMPLX_GENERIC_CONVERSION_NAME, DCONJG_OPERATOR_NAME, DCOS_OPERATOR_NAME, DCOSH_OPERATOR_NAME, DDIM_OPERATOR_NAME, DEALLOCATE_FUNCTION_NAME, DECIMAL_TO_DOUBLE_OPERATOR_NAME, DECIMAL_TO_EXTENDED_OPERATOR_NAME, DECIMAL_TO_QUADRUPLE_OPERATOR_NAME, DECIMAL_TO_SINGLE_OPERATOR_NAME, DEFAULT_FUNCTION_NAME, default_intrinsic_type(), DEREFERENCING_OPERATOR_NAME, DEXP_OPERATOR_NAME, DFLOAT_GENERIC_CONVERSION_NAME, DIFFTIME_FUNCTION_NAME, DIM_OPERATOR_NAME, DIMAG_CONVERSION_NAME, DINT_CONVERSION_NAME, DIRECTIO_FUNCTION_NAME, DIV_FUNCTION_NAME, DIVIDE_OPERATOR_NAME, DIVIDE_UPDATE_OPERATOR_NAME, DLOG10_OPERATOR_NAME, DLOG_OPERATOR_NAME, DMAX1_OPERATOR_NAME, DMIN1_OPERATOR_NAME, DNINT_CONVERSION_NAME, DOUBLE_MODULO_OPERATOR_NAME, DOUBLE_TO_DECIMAL_OPERATOR_NAME, double_to_double_type(), double_to_integer_type(), double_to_longinteger_type(), double_to_longlonginteger_type(), doublecomplex_to_double_type(), doublecomplex_to_doublecomplex_type(), DPROD_OPERATOR_NAME, DRAND48_FUNCTION_NAME, DREAL_GENERIC_CONVERSION_NAME, DSIGN_OPERATOR_NAME, DSIN_OPERATOR_NAME, DSINH_OPERATOR_NAME, DSQRT_OPERATOR_NAME, DTAN_OPERATOR_NAME, DTANH_OPERATOR_NAME, DTIME_FUNCTION_NAME, DUP2_FUNCTION_NAME, ECONVERT_OPERATOR_NAME, ECVT_FUNCTION_NAME, END_FUNCTION_NAME, ENDFILE_FUNCTION_NAME, EOLE_FMA_OPERATOR_NAME, EOLE_FMS_OPERATOR_NAME, EOLE_PROD_OPERATOR_NAME, EOLE_SUM_OPERATOR_NAME, EQUAL_OPERATOR_NAME, EQUIV_OPERATOR_NAME, ERAND48_FUNCTION_NAME, ERF_OPERATOR_NAME, ERFC_OPERATOR_NAME, ERFCF_OPERATOR_NAME, ERFCL_OPERATOR_NAME, ERFF_OPERATOR_NAME, ERFL_OPERATOR_NAME, ERR_FUNCTION_NAME, ERRX_FUNCTION_NAME, ETIME_FUNCTION_NAME, EXIT_FUNCTION_NAME, EXITHANDLE_FUNCTION_NAME, EXP2_OPERATOR_NAME, EXP2F_OPERATOR_NAME, EXP2L_OPERATOR_NAME, EXP_OPERATOR_NAME, EXPF_OPERATOR_NAME, EXPL_OPERATOR_NAME, EXPM1_OPERATOR_NAME, EXPM1F_OPERATOR_NAME, EXPM1L_OPERATOR_NAME, EXTENDED_TO_DECIMAL_OPERATOR_NAME, FABS_OPERATOR_NAME, FABSF_OPERATOR_NAME, FABSL_OPERATOR_NAME, FCLOSE_FUNCTION_NAME, FCNTL_FUNCTION_NAME, FCONVERT_OPERATOR_NAME, FCVT_FUNCTION_NAME, FDATASYNC_FUNCTION_NAME, FDIM_OPERATOR_NAME, FDIMF_OPERATOR_NAME, FDIML_OPERATOR_NAME, FDOPEN_FUNCTION_NAME, FECLEAREXCEPT_FUNCTION_NAME, FEGETROUND_FUNCTION_NAME, FEOF_FUNCTION_NAME, FERAISEEXCEPT_FUNCTION_NAME, FERROR_FUNCTION_NAME, FESETEXCEPTFLAG_FUNCTION_NAME, FESETROUND_FUNCTION_NAME, FETESTEXCEPT_FUNCTION_NAME, FFLUSH_FUNCTION_NAME, FGETC_FUNCTION_NAME, FGETPOS64_FUNCTION_NAME, FGETPOS_FUNCTION_NAME, FGETS_FUNCTION_NAME, FGETWC_FUNCTION_NAME, FGETWS_FUNCTION_NAME, FIELD_OPERATOR_NAME, FILE_TO_DECIMAL_OPERATOR_NAME, FILENO_FUNCTION_NAME, FLOAT_GENERIC_CONVERSION_NAME, FLOOR_OPERATOR_NAME, FLOORF_OPERATOR_NAME, FLOORL_OPERATOR_NAME, FMA_OPERATOR_NAME, FMAF_OPERATOR_NAME, FMAL_OPERATOR_NAME, FMAX_OPERATOR_NAME, FMAXF_OPERATOR_NAME, FMAXL_OPERATOR_NAME, FMIN_OPERATOR_NAME, FMINF_OPERATOR_NAME, FMINL_OPERATOR_NAME, FMOD_OPERATOR_NAME, FMODF_OPERATOR_NAME, FMODL_OPERATOR_NAME, FOPEN64_FUNCTION_NAME, FOPEN_FUNCTION_NAME, FORMAT_FUNCTION_NAME, FPCLASSIFY_OPERATOR_NAME, FPRINTF_FUNCTION_NAME, FPUTC_FUNCTION_NAME, FPUTS_FUNCTION_NAME, FPUTWC_FUNCTION_NAME, FPUTWS_FUNCTION_NAME, FREAD_FUNCTION_NAME, FREE_FUNCTION_NAME, FREOPEN64_FUNCTION_NAME, FREOPEN_FUNCTION_NAME, FREXP_OPERATOR_NAME, FSCANF_FUNCTION_NAME, FSEEK_FUNCTION_NAME, FSEEKO64_FUNCTION_NAME, FSEEKO_FUNCTION_NAME, FSETPOS64_FUNCTION_NAME, FSETPOS_FUNCTION_NAME, FSTAT_FUNCTION_NAME, FSYNC_FUNCTION_NAME, FTELL_FUNCTION_NAME, FTELLO64_FUNCTION_NAME, FTELLO_FUNCTION_NAME, FUNC_TO_DECIMAL_OPERATOR_NAME, FWIDE_FUNCTION_NAME, FWPRINTF_FUNCTION_NAME, FWRITE_FUNCTION_NAME, FWSCANF_FUNCTION_NAME, GAMMA_OPERATOR_NAME, GCC_CIMAG_OPERATOR_NAME, GCC_CREAL_OPERATOR_NAME, GCONVERT_OPERATOR_NAME, GCVT_FUNCTION_NAME, GETC_FUNCTION_NAME, GETCHAR_FUNCTION_NAME, GETCWD_FUNCTION_NAME, GETENV_FUNCTION_NAME, GETEXECNAME_FUNCTION_NAME, GETLOGIN_FUNCTION_NAME, GETOPT_FUNCTION_NAME, GETOPT_LONG_FUNCTION_NAME, GETOPT_LONG_ONLY_FUNCTION_NAME, GETPASS_FUNCTION_NAME, GETPASSPHRASE_FUNCTION_NAME, GETPW_FUNCTION_NAME, GETS_FUNCTION_NAME, GETSUBOPT_FUNCTION_NAME, GETTIMEOFDAY_FUNCTION_NAME, GETW_FUNCTION_NAME, GETWC_FUNCTION_NAME, GETWCHAR_FUNCTION_NAME, GRANTPT_FUNCTION_NAME, GREATER_OR_EQUAL_OPERATOR_NAME, GREATER_THAN_OPERATOR_NAME, hash_string, hash_table_make(), HYPOT_OPERATOR_NAME, HYPOTF_OPERATOR_NAME, HYPOTL_OPERATOR_NAME, IABS_OPERATOR_NAME, IAND_OPERATOR_NAME, IBCLR_OPERATOR_NAME, IBITS_OPERATOR_NAME, IBSET_OPERATOR_NAME, IDIM_OPERATOR_NAME, IDINT_GENERIC_CONVERSION_NAME, IDNINT_CONVERSION_NAME, IEOR_OPERATOR_NAME, IFIX_GENERIC_CONVERSION_NAME, ILOGB_OPERATOR_NAME, ILOGBF_OPERATOR_NAME, ILOGBL_OPERATOR_NAME, IMA_OPERATOR_NAME, IMAXABS_FUNCTION_NAME, IMAXDIV_FUNCTION_NAME, IMPLIED_COMPLEX_NAME, IMPLIED_DCOMPLEX_NAME, IMPLIED_DO_NAME, IMS_OPERATOR_NAME, INDEX_OPERATOR_NAME, INITSTATE_FUNCTION_NAME, INQUIRE_FUNCTION_NAME, INT_GENERIC_CONVERSION_NAME, INT_TO_CHAR_CONVERSION_NAME, integer_to_integer_type(), integer_to_logical_type(), integer_to_overloaded_type(), integer_to_real_type(), integer_to_void_type(), intrinsic_type_descriptor_mapping, INVERSE_OPERATOR_NAME, IOCTL_FUNCTION_NAME, IOR_OPERATOR_NAME, ISALNUM_OPERATOR_NAME, ISALPHA_OPERATOR_NAME, ISASCII_OPERATOR_NAME, ISATTY_FUNCTION_NAME, ISBLANK_OPERATOR_NAME, ISCNTRL_OPERATOR_NAME, ISDIGIT_OPERATOR_NAME, ISFINITE_OPERATOR_NAME, ISGRAPH_OPERATOR_NAME, ISGREATER_OPERATOR_NAME, ISGREATEREQUAL_OPERATOR_NAME, ISHFT_OPERATOR_NAME, ISHFTC_OPERATOR_NAME, ISIGN_OPERATOR_NAME, ISINF_OPERATOR_NAME, ISLESS_OPERATOR_NAME, ISLESSEQUAL_OPERATOR_NAME, ISLESSGREATER_OPERATOR_NAME, ISLOWER_OPERATOR_NAME, ISNAN_OPERATOR_NAME, ISNANF_OPERATOR_NAME, ISNANL_OPERATOR_NAME, ISNORMAL_OPERATOR_NAME, ISOC99_FSCANF_FUNCTION_NAME, ISOC99_SCANF_FUNCTION_NAME, ISOC99_SSCANF_FUNCTION_NAME, ISOC99_VFSCANF_FUNCTION_NAME, ISOC99_VSCANF_FUNCTION_NAME, ISOC99_VSSCANF_FUNCTION_NAME, ISPRINT_OPERATOR_NAME, ISPUNCT_OPERATOR_NAME, ISSPACE_OPERATOR_NAME, ISUNORDERED_OPERATOR_NAME, ISUPPER_OPERATOR_NAME, ISWALNUM_OPERATOR_NAME, ISWALPHA_OPERATOR_NAME, ISWBLANK_OPERATOR_NAME, ISWCNTRL_OPERATOR_NAME, ISWCTYPE_OPERATOR_NAME, ISWDIGIT_OPERATOR_NAME, ISWGRAPH_OPERATOR_NAME, ISWLOWER_OPERATOR_NAME, ISWPRINT_OPERATOR_NAME, ISWPUNCT_OPERATOR_NAME, ISWSPACE_OPERATOR_NAME, ISWUPPER_OPERATOR_NAME, ISWXDIGIT_OPERATOR_NAME, ISXDIGIT_OPERATOR_NAME, J0_OPERATOR_NAME, J1_OPERATOR_NAME, JN_OPERATOR_NAME, JRAND48_FUNCTION_NAME, LABS_FUNCTION_NAME, LCONG48_FUNCTION_NAME, LDEXP_OPERATOR_NAME, LDEXPF_OPERATOR_NAME, LDEXPL_OPERATOR_NAME, LDIV_FUNCTION_NAME, LEFT_SHIFT_OPERATOR_NAME, LEFT_SHIFT_UPDATE_OPERATOR_NAME, LENGTH_OPERATOR_NAME, LESS_OR_EQUAL_OPERATOR_NAME, LESS_THAN_OPERATOR_NAME, LGAMMA_OPERATOR_NAME, LGAMMAF_OPERATOR_NAME, LGAMMAL_OPERATOR_NAME, LGE_OPERATOR_NAME, LGT_OPERATOR_NAME, LINK_FUNCTION_NAME, LIST_DIRECTED_FORMAT_NAME, LLABS_FUNCTION_NAME, LLDIV_FUNCTION_NAME, LLE_OPERATOR_NAME, LLRINT_OPERATOR_NAME, LLRINTF_OPERATOR_NAME, LLRINTL_OPERATOR_NAME, LLROUND_OPERATOR_NAME, LLROUNDF_OPERATOR_NAME, LLROUNDL_OPERATOR_NAME, LLT_OPERATOR_NAME, LLTOSTR_FUNCTION_NAME, LOCALTIME_FUNCTION_NAME, LOG10_OPERATOR_NAME, LOG10F_OPERATOR_NAME, LOG10L_OPERATOR_NAME, LOG1P_OPERATOR_NAME, LOG1PF_OPERATOR_NAME, LOG1PL_OPERATOR_NAME, LOG2_OPERATOR_NAME, LOG2F_OPERATOR_NAME, LOG2L_OPERATOR_NAME, LOG_OPERATOR_NAME, LOGB_OPERATOR_NAME, LOGBF_OPERATOR_NAME, LOGBL_OPERATOR_NAME, LOGF_OPERATOR_NAME, logical_to_logical_type(), LOGL_OPERATOR_NAME, longdouble_to_integer_type(), longdouble_to_longdouble_type(), longdouble_to_longinteger_type(), longdouble_to_longlonginteger_type(), longdoublecomplex_to_longdouble_type(), longdoublecomplex_to_longdoublecomplex_type(), longinteger_to_longinteger_type(), longinteger_to_overloaded_type(), longlonginteger_to_longlonginteger_type(), longlonginteger_to_overloaded_type(), LRAND48_FUNCTION_NAME, LRINT_OPERATOR_NAME, LRINTF_OPERATOR_NAME, LRINTL_OPERATOR_NAME, LROUND_OPERATOR_NAME, LROUNDF_OPERATOR_NAME, LROUNDL_OPERATOR_NAME, LSTAT_FUNCTION_NAME, MALLOC_FUNCTION_NAME, MATHERR_OPERATOR_NAME, MAX0_OPERATOR_NAME, MAX1_OPERATOR_NAME, MAX_OPERATOR_NAME, MBLEN_FUNCTION_NAME, MBRLEN_FUNCTION_NAME, MBRTOWC_FUNCTION_NAME, MBSINIT_FUNCTION_NAME, MBSRTOWCS_FUNCTION_NAME, MBSTOWCS_FUNCTION_NAME, MBTOWC_FUNCTION_NAME, MEMALIGN_FUNCTION_NAME, MEMCHR_FUNCTION_NAME, MEMCMP_FUNCTION_NAME, MEMCPY_FUNCTION_NAME, MEMMOVE_FUNCTION_NAME, MEMSET_FUNCTION_NAME, MIN0_OPERATOR_NAME, MIN1_OPERATOR_NAME, MIN_OPERATOR_NAME, MINUS_C_OPERATOR_NAME, MINUS_OPERATOR_NAME, MINUS_UPDATE_OPERATOR_NAME, MKSTEMP64_FUNCTION_NAME, MKSTEMP_FUNCTION_NAME, MKTEMP_FUNCTION_NAME, MODF_OPERATOR_NAME, MODFF_OPERATOR_NAME, MODULO_OPERATOR_NAME, MODULO_UPDATE_OPERATOR_NAME, MPI_BARRIER_FUNCTION_NAME, MPI_BSEND_FUNCTION_NAME, MPI_COMM_RANK_FUNCTION_NAME, MPI_COMM_SIZE_FUNCTION_NAME, MPI_FINALIZE_FUNCTION_NAME, MPI_IBSEND_FUNCTION_NAME, MPI_INIT_FUNCTION_NAME, MPI_IRECV_FUNCTION_NAME, MPI_IRSEND_FUNCTION_NAME, MPI_ISEND_FUNCTION_NAME, MPI_ISSEND_FUNCTION_NAME, MPI_RECV_FUNCTION_NAME, MPI_RSEND_FUNCTION_NAME, MPI_SEND_FUNCTION_NAME, MPI_SENDRECV_FUNCTION_NAME, MPI_SSEND_FUNCTION_NAME, MRAND48_FUNCTION_NAME, MULTIPLY_OPERATOR_NAME, MULTIPLY_UPDATE_OPERATOR_NAME, MVBITS_OPERATOR_NAME, IntrinsicDescriptor::name, NAN_OPERATOR_NAME, NANF_OPERATOR_NAME, NANL_OPERATOR_NAME, NANOSLEEP_FUNCTION_NAME, NEARBYINT_OPERATOR_NAME, NEARBYINTF_OPERATOR_NAME, NEARBYINTL_OPERATOR_NAME, NEXTAFTER_OPERATOR_NAME, NEXTAFTERF_OPERATOR_NAME, NEXTAFTERL_OPERATOR_NAME, NEXTTOWARD_OPERATOR_NAME, NEXTTOWARDF_OPERATOR_NAME, NEXTTOWARDL_OPERATOR_NAME, NINT_CONVERSION_NAME, no_typing(), NON_EQUAL_OPERATOR_NAME, NON_EQUIV_OPERATOR_NAME, NOT_OPERATOR_NAME, NRAND48_FUNCTION_NAME, OMP_FOR_FUNCTION_NAME, OMP_IF_FUNCTION_NAME, OMP_OMP_FUNCTION_NAME, OMP_PARALLEL_FUNCTION_NAME, OMP_PRIVATE_FUNCTION_NAME, OMP_REDUCTION_FUNCTION_NAME, OPEN64_FUNCTION_NAME, OPEN_FUNCTION_NAME, OR_OPERATOR_NAME, overloaded_to_complex_type(), overloaded_to_double_type(), overloaded_to_doublecomplex_type(), overloaded_to_integer_type(), overloaded_to_logical_type(), overloaded_to_longdouble_type(), overloaded_to_real_type(), overloaded_to_void_type(), PAUSE_FUNCTION_NAME, PCLOSE_FUNCTION_NAME, PERROR_FUNCTION_NAME, PIPS_C_DIV_OPERATOR_NAME, PIPS_C_MAX_OPERATOR_NAME, PIPS_C_MIN_OPERATOR_NAME, PIPS_IO_BARRIER_OPERATOR_NAME, PIPS_MEMORY_BARRIER_OPERATOR_NAME, PLUS_C_OPERATOR_NAME, PLUS_OPERATOR_NAME, PLUS_UPDATE_OPERATOR_NAME, POINT_TO_OPERATOR_NAME, POPEN_FUNCTION_NAME, POSIX_MEMALIGN_FUNCTION_NAME, POST_DECREMENT_OPERATOR_NAME, POST_INCREMENT_OPERATOR_NAME, POW_OPERATOR_NAME, POWER_OPERATOR_NAME, POWF_OPERATOR_NAME, POWL_OPERATOR_NAME, PRE_DECREMENT_OPERATOR_NAME, PRE_INCREMENT_OPERATOR_NAME, PRINTF_FUNCTION_NAME, PSELECT_FUNCTION_NAME, PTSNAME_FUNCTION_NAME, PUTC_FUNCTION_NAME, PUTCHAR_FUNCTION_NAME, PUTENV_FUNCTION_NAME, PUTS_FUNCTION_NAME, PUTW_FUNCTION_NAME, PUTWC_FUNCTION_NAME, PUTWCHAR_FUNCTION_NAME, QECONVERT_OPERATOR_NAME, QECVT_FUNCTION_NAME, QFCONVERT_OPERATOR_NAME, QFCVT_FUNCTION_NAME, QGCONVERT_OPERATOR_NAME, QGCVT_FUNCTION_NAME, QSORT_FUNCTION_NAME, QUADRUPLE_TO_DECIMAL_OPERATOR_NAME, RAISE_FUNCTION_NAME, RAND_FUNCTION_NAME, RANDOM_FUNCTION_NAME, READ_FUNCTION_NAME, REAL_GENERIC_CONVERSION_NAME, REAL_MODULO_OPERATOR_NAME, real_to_double_type(), real_to_integer_type(), real_to_longinteger_type(), real_to_longlonginteger_type(), real_to_real_type(), REALLOC_FUNCTION_NAME, REALPATH_FUNCTION_NAME, RECV_FUNCTION_NAME, register_intrinsic_type_descriptor(), REMAINDER_OPERATOR_NAME, REMAINDERF_OPERATOR_NAME, REMAINDERL_OPERATOR_NAME, REMOVE_FUNCTION_NAME, RENAME_FUNCTION_NAME, REPEAT_VALUE_NAME, RETURN_FUNCTION_NAME, REWIND_FUNCTION_NAME, RIGHT_SHIFT_OPERATOR_NAME, RIGHT_SHIFT_UPDATE_OPERATOR_NAME, RINT_OPERATOR_NAME, RINTF_OPERATOR_NAME, RINTL_OPERATOR_NAME, ROUND_OPERATOR_NAME, ROUNDF_OPERATOR_NAME, ROUNDL_OPERATOR_NAME, SCALB_OPERATOR_NAME, SCALBLN_OPERATOR_NAME, SCALBLNF_OPERATOR_NAME, SCALBLNL_OPERATOR_NAME, SCALBN_OPERATOR_NAME, SCALBNF_OPERATOR_NAME, SCALBNL_OPERATOR_NAME, SCANF_FUNCTION_NAME, SECOND_FUNCTION_NAME, SECONVERT_OPERATOR_NAME, SEED48_FUNCTION_NAME, SELECT_FUNCTION_NAME, SEND_FUNCTION_NAME, set_belong_p(), SETBUF_FUNCTION_NAME, SETBUFFER_FUNCTION_NAME, SETKEY_FUNCTION_NAME, SETLINEBUF_FUNCTION_NAME, SETLOCALE_FUNCTION_NAME, SETSTATE_FUNCTION_NAME, SETVBUF_FUNCTION_NAME, SFCONVERT_OPERATOR_NAME, SGCONVERT_OPERATOR_NAME, SIGFPE_OPERATOR_NAME, SIGN_OPERATOR_NAME, SIGNAL_OPERATOR_NAME, SIGNBIT_OPERATOR_NAME, SIGNIFICAND_OPERATOR_NAME, simplification_complex(), simplification_dcomplex(), simplification_double(), simplification_int(), simplification_real(), SIN_OPERATOR_NAME, SINF_OPERATOR_NAME, SINGLE_TO_DECIMAL_OPERATOR_NAME, SINH_OPERATOR_NAME, SINHF_OPERATOR_NAME, SINHL_OPERATOR_NAME, SINL_OPERATOR_NAME, SNGL_GENERIC_CONVERSION_NAME, SNPRINTF_FUNCTION_NAME, SPRINTF_FUNCTION_NAME, SQRT_OPERATOR_NAME, SQRTF_OPERATOR_NAME, SQRTL_OPERATOR_NAME, SRAND48_FUNCTION_NAME, SRAND_FUNCTION_NAME, SRANDOM_FUNCTION_NAME, SSCANF_FUNCTION_NAME, STAT_FUNCTION_NAME, statement_with_at_most_one_expression_integer(), statement_with_at_most_one_integer_or_character(), statement_without_argument(), STATIC_INITIALIZATION_FUNCTION_NAME, STOP_FUNCTION_NAME, STRCAT_FUNCTION_NAME, STRCHR_FUNCTION_NAME, STRCMP_FUNCTION_NAME, STRCOLL_FUNCTION_NAME, STRCPY_FUNCTION_NAME, STRCSPN_FUNCTION_NAME, STRDUP_FUNCTION_NAME, STRERROR_FUNCTION_NAME, STRERROR_R_FUNCTION_NAME, STRING_TO_DECIMAL_OPERATOR_NAME, STRLEN_FUNCTION_NAME, STRNCAT_FUNCTION_NAME, STRNCMP_FUNCTION_NAME, STRNCPY_FUNCTION_NAME, STRPBRK_FUNCTION_NAME, STRRCHR_FUNCTION_NAME, STRSPN_FUNCTION_NAME, STRSTR_FUNCTION_NAME, STRTOD_FUNCTION_NAME, STRTOF_FUNCTION_NAME, STRTOK_FUNCTION_NAME, STRTOL_FUNCTION_NAME, STRTOLD_FUNCTION_NAME, STRTOLL_FUNCTION_NAME, STRTOUL_FUNCTION_NAME, STRTOULL_FUNCTION_NAME, STRXFRM_FUNCTION_NAME, SUBSTRING_FUNCTION_NAME, substring_type(), SWAB_FUNCTION_NAME, switch_specific_abs(), switch_specific_acos(), switch_specific_aint(), switch_specific_anint(), switch_specific_asin(), switch_specific_atan(), switch_specific_atan2(), switch_specific_cmplx(), switch_specific_cos(), switch_specific_cosh(), switch_specific_dcmplx(), switch_specific_dim(), switch_specific_exp(), switch_specific_log(), switch_specific_log10(), switch_specific_max(), switch_specific_min(), switch_specific_mod(), switch_specific_nint(), switch_specific_sign(), switch_specific_sin(), switch_specific_sinh(), switch_specific_sqrt(), switch_specific_tan(), switch_specific_tanh(), SWPRINTF_FUNCTION_NAME, SWSCANF_FUNCTION_NAME, SYMLINK_FUNCTION_NAME, SYSTEM_FUNCTION_NAME, TAN_OPERATOR_NAME, TANF_OPERATOR_NAME, TANH_OPERATOR_NAME, TANHF_OPERATOR_NAME, TANHL_OPERATOR_NAME, TANL_OPERATOR_NAME, TEMPNAM_FUNCTION_NAME, TGAMMA_OPERATOR_NAME, TGAMMAF_OPERATOR_NAME, TIME_FUNCTION_NAME, TMPFILE64_FUNCTION_NAME, TMPFILE_FUNCTION_NAME, TMPNAM_FUNCTION_NAME, TOASCII_OPERATOR_NAME, TOLOWER_OPERATOR_NAME, TOUPPER_OPERATOR_NAME, TOWCTRANS_OPERATOR_NAME, TOWLOWER_OPERATOR_NAME, TOWUPPER_OPERATOR_NAME, TRUNC_OPERATOR_NAME, TRUNCF_OPERATOR_NAME, TRUNCL_OPERATOR_NAME, TTYNAME_FUNCTION_NAME, TTYSLOT_FUNCTION_NAME, typing_arithmetic_operator(), typing_assign_substring(), typing_buffer_inout(), typing_concat_operator(), typing_function_char_to_int(), typing_function_char_to_logical(), typing_function_complex_to_complex(), typing_function_complex_to_real(), typing_function_constant_complex(), typing_function_constant_dcomplex(), typing_function_conversion_to_complex(), typing_function_conversion_to_dcomplex(), typing_function_conversion_to_double(), typing_function_conversion_to_integer(), typing_function_conversion_to_real(), typing_function_dcomplex_to_dcomplex(), typing_function_dcomplex_to_double(), typing_function_double_to_double(), typing_function_double_to_int(), typing_function_double_to_longint(), typing_function_double_to_longlongint(), typing_function_format_name(), typing_function_int_to_char(), typing_function_int_to_int(), typing_function_int_to_logical(), typing_function_int_to_real(), typing_function_IntegerRealDouble_to_IntegerRealDouble(), typing_function_IntegerRealDoubleComplex_to_IntegerRealDoubleReal(), typing_function_longdcomplex_to_longdcomplex(), typing_function_longdcomplex_to_longdouble(), typing_function_longdouble_to_int(), typing_function_longdouble_to_longdouble(), typing_function_longdouble_to_longint(), typing_function_longdouble_to_longlongint(), typing_function_longint_to_longint(), typing_function_longlongint_to_longlongint(), typing_function_overloaded(), typing_function_real_to_double(), typing_function_real_to_int(), typing_function_real_to_longint(), typing_function_real_to_longlongint(), typing_function_real_to_real(), typing_function_RealDouble_to_Integer(), typing_function_RealDouble_to_RealDouble(), typing_function_RealDoubleComplex_to_RealDoubleComplex(), typing_implied_do(), typing_logical_operator(), typing_of_assign(), typing_power_operator(), typing_relational_operator(), typing_substring(), ULLTOSTR_FUNCTION_NAME, UNARY_MINUS_OPERATOR_NAME, UNARY_PLUS_OPERATOR_NAME, UNBOUNDED_DIMENSION_NAME, UNGETC_FUNCTION_NAME, UNGETWC_FUNCTION_NAME, UNLINK_FUNCTION_NAME, UNLOCKPT_FUNCTION_NAME, unsigned_integer_to_void_pointer_type(), USLEEP_FUNCTION_NAME, VALLOC_FUNCTION_NAME, VERR_FUNCTION_NAME, VERRX_FUNCTION_NAME, VFPRINTF_FUNCTION_NAME, VFSCANF_FUNCTION_NAME, VFWPRINTF_FUNCTION_NAME, VFWSCANF_FUNCTION_NAME, void_to_integer_type(), void_to_overloaded_type(), void_to_void_to_int_pointer_type(), void_to_void_type(), VPRINTF_FUNCTION_NAME, VSCANF_FUNCTION_NAME, VSNPRINTF_FUNCTION_NAME, VSPRINTF_FUNCTION_NAME, VSSCANF_FUNCTION_NAME, VSWPRINTF_FUNCTION_NAME, VSWSCANF_FUNCTION_NAME, VWARN_FUNCTION_NAME, VWARNX_FUNCTION_NAME, VWPRINTF_FUNCTION_NAME, VWSCANF_FUNCTION_NAME, WARN_FUNCTION_NAME, WARNX_FUNCTION_NAME, WCRTOMB_FUNCTION_NAME, WCSCAT_FUNCTION_NAME, WCSCHR_FUNCTION_NAME, WCSCMP_FUNCTION_NAME, WCSCOLL_FUNCTION_NAME, WCSCPY_FUNCTION_NAME, WCSCSPN_FUNCTION_NAME, WCSFTIME_FUNCTION_NAME, WCSLEN_FUNCTION_NAME, WCSNCAT_FUNCTION_NAME, WCSNCMP_FUNCTION_NAME, WCSNCPY_FUNCTION_NAME, WCSPBRK_FUNCTION_NAME, WCSRCHR_FUNCTION_NAME, WCSRTOMBS_FUNCTION_NAME, WCSSPN_FUNCTION_NAME, WCSSTR_FUNCTION_NAME, WCSTOD_FUNCTION_NAME, WCSTOF_FUNCTION_NAME, WCSTOK_FUNCTION_NAME, WCSTOL_FUNCTION_NAME, WCSTOLD_FUNCTION_NAME, WCSTOLL_FUNCTION_NAME, WCSTOMBS_FUNCTION_NAME, WCSTOUL_FUNCTION_NAME, WCSTOULL_FUNCTION_NAME, WCSXFRM_FUNCTION_NAME, WCTOB_FUNCTION_NAME, WCTOMB_FUNCTION_NAME, WCTRANS_OPERATOR_NAME, WCTYPE_OPERATOR_NAME, WMEMCHR_FUNCTION_NAME, WMEMCMP_FUNCTION_NAME, WMEMCPY_FUNCTION_NAME, WMEMMOVE_FUNCTION_NAME, WMEMSET_FUNCTION_NAME, WPRINTF_FUNCTION_NAME, WRITE_FUNCTION_NAME, WSCANF_FUNCTION_NAME, Y0_OPERATOR_NAME, Y1_OPERATOR_NAME, and YN_OPERATOR_NAME.
Referenced by bootstrap().
|
static |
First a dummy function - close to C one "crt0()" - in order to
GO: entity for io logical units: It is an array which
make_storage(is_storage_ram, make_ram(entity_undefined, DynamicArea, 0, NIL))
GO: entity for io logical units: It is an array which
make_storage(is_storage_ram, make_ram(entity_undefined, DynamicArea, 0, NIL))
GO: entity for io logical units: It is an array which
make_storage(is_storage_ram, make_ram(entity_undefined, DynamicArea, 0, NIL))
Definition at line 122 of file bootstrap.c.
References ABSTRACT_LOCATION, add_abstract_state_variable(), AddPackageToName(), code_initializations, CONS, DEFAULT_ENTITY_KIND, DIMENSION, EFFECTS_PACKAGE, ENTITY_STATIC_AREA, entity_undefined, FindEntity(), int_to_expression(), IO_EFFECTS_ARRAY_NAME, IO_EFFECTS_PACKAGE_NAME, IO_EFFECTS_UNIT_SPECIFIER_LENGTH, IO_EOF_ARRAY_NAME, IO_ERROR_ARRAY_NAME, is_storage_ram, is_storage_rom, is_type_area, is_type_functional, is_type_void, is_value_code, is_value_unknown, make_area(), make_basic_int(), make_basic_logical(), make_code(), make_dimension(), make_entity, make_functional(), make_language_unknown(), make_ram(), make_sequence(), make_storage(), make_type(), make_value(), MakeTypeArray(), NIL, reset_current_module_entity(), set_current_module_entity(), STATIC_AREA_LOCAL_NAME, strdup(), TOP_LEVEL_MODULE_NAME, and UU.
Referenced by bootstrap().
|
static |
Definition at line 319 of file bootstrap.c.
References add_abstract_state_variable(), add_thread_safe_variable(), CreateAbstractStateVariable(), MEMMOVE_EFFECTS_NAME, and MEMMOVE_EFFECTS_PACKAGE_NAME.
Referenced by bootstrap().
|
static |
Definition at line 292 of file bootstrap.c.
References add_abstract_state_variable(), CreateAbstractStateVariable(), RAND_EFFECTS_PACKAGE_NAME, and RAND_GEN_EFFECTS_NAME.
Referenced by bootstrap().
|
static |
Definition at line 300 of file bootstrap.c.
References add_abstract_state_variable(), CreateAbstractStateVariable(), TIME_EFFECTS_BUFFER_NAME, TIME_EFFECTS_PACKAGE_NAME, and TIME_EFFECTS_VARIABLE_NAME.
Referenced by bootstrap().
The default intrinsic type is a functional type with n overloaded arguments returning an overloaded result if the arity is known.
If the arity is unknown, the default intrinsic type is a 0-ary functional type returning an overloaded result.
Definition at line 362 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeOverloadedParameter(), MakeOverloadedResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics(), and FindOrMakeDefaultIntrinsic().
Definition at line 777 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeDoubleprecisionParameter(), MakeDoubleprecisionResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
Definition at line 691 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeDoubleprecisionParameter(), MakeIntegerResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
MB.
Definition at line 705 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeDoubleprecisionParameter(), MakeLongIntegerResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
MB.
Definition at line 719 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeDoubleprecisionParameter(), MakeLongLongIntegerResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
Definition at line 862 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeDoublecomplexParameter(), MakeDoubleprecisionResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
Definition at line 889 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeDoublecomplexParameter(), MakeDoublecomplexResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
Create a default intrinsic.
Useful to create on-the-fly intrinsics.
It creates an intrinsic with a default type, that is with overload parameter and return types.
name | is the name of the intrinsic |
n | is the number of argument |
It seems it has been previously created:
name | ame |
arity | rity |
Definition at line 4397 of file bootstrap.c.
References default_intrinsic_type(), entity_undefined_p, FindEntity(), MakeIntrinsic(), and TOP_LEVEL_MODULE_NAME.
This function creates an entity that represents an intrinsic function, if the entity does not already exist.
Fortran operators and basic statements are intrinsic functions.
An intrinsic function has a rom storage, an unknown initial value and a functional type whose result and arguments have an overloaded basic type. The number of arguments is given by the IntrinsicTypeDescriptorTable data structure.
name | ame |
arity | rity |
Definition at line 4371 of file bootstrap.c.
References entity_undefined_p, FindEntity(), MakeIntrinsic(), and TOP_LEVEL_MODULE_NAME.
Referenced by register_intrinsic_type_descriptor().
Definition at line 1495 of file bootstrap.c.
References basic_complex, basic_float, basic_int, basic_logical, basic_string_p, basic_tag, basic_undefined, CHAR_TO_INT_CONVERSION_NAME, CMPLX_GENERIC_CONVERSION_NAME, CreateIntrinsic(), DBLE_GENERIC_CONVERSION_NAME, DCMPLX_GENERIC_CONVERSION_NAME, entity_undefined, INT_GENERIC_CONVERSION_NAME, INT_TO_CHAR_CONVERSION_NAME, is_basic_complex, is_basic_float, is_basic_int, is_basic_logical, is_basic_overloaded, is_basic_string, pips_internal_error, and REAL_GENERIC_CONVERSION_NAME.
Referenced by insert_cast().
switch_name_function get_switch_name_function_for_intrinsic | ( | const char * | name | ) |
name | ame |
Definition at line 4338 of file bootstrap.c.
References hash_get(), and intrinsic_type_descriptor_mapping.
Referenced by type_this_call().
typing_function_t get_typing_function_for_intrinsic | ( | const char * | name | ) |
name | ame |
Definition at line 4330 of file bootstrap.c.
References hash_get(), and intrinsic_type_descriptor_mapping.
Referenced by type_this_call(), and type_this_instruction().
expression insert_cast | ( | basic | cast, |
basic | from, | ||
expression | exp, | ||
type_context_p | context | ||
) |
Function in type_checker.c.
If exp is a constant -> Convert it e.g: 5.9 -> 5 (REAL -> INT)
If not
Count the number of conversions
from | rom |
exp | xp |
context | ontext |
Definition at line 1567 of file bootstrap.c.
References cast_constant(), CONS, entity_undefined, exp, EXPRESSION, expression_syntax, get_cast_function_for_basic(), is_syntax_call, make_call(), make_expression(), make_syntax(), NIL, normalized_undefined, and pips_internal_error.
Referenced by check_this_reference(), type_loop_range(), type_this_entity_if_needed(), typing_arguments(), typing_of_assign(), and typing_power_operator().
Why do we make these functions static and keep them here instead of populating ri-util/type.c?
Definition at line 505 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeIntegerParameter(), MakeIntegerResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
to handle BTEST function which takes integer as parameter and returns logical.
Amira Mensi
Definition at line 490 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeIntegerParameter(), MakeLogicalResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
Definition at line 4222 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeIntegerParameter(), MakeOverloadedResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
Definition at line 598 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeIntegerParameter(), MakeRealResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
Definition at line 4264 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), make_type_void(), MakeIntegerParameter(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
|
static |
Definition at line 3360 of file bootstrap.c.
References exp, and is_string_specifier().
Referenced by check_io_list().
Definition at line 1689 of file bootstrap.c.
References basic_complex, and basic_complex_p.
Referenced by arguments_are_complex().
Definition at line 1694 of file bootstrap.c.
References basic_complex, and basic_complex_p.
Referenced by arguments_are_dcomplex().
Definition at line 1679 of file bootstrap.c.
References basic_float, and basic_float_p.
Referenced by arguments_are_double().
Definition at line 1659 of file bootstrap.c.
References basic_int, and basic_int_p.
Referenced by arguments_are_integer().
MB.
Definition at line 1699 of file bootstrap.c.
References basic_complex, and basic_complex_p.
Referenced by arguments_are_longdcomplex().
MB.
Definition at line 1684 of file bootstrap.c.
References basic_float, and basic_float_p.
Referenced by arguments_are_longdouble().
MB.
Definition at line 1664 of file bootstrap.c.
References basic_int, and basic_int_p.
Referenced by arguments_are_longinteger().
MB.
Definition at line 1669 of file bootstrap.c.
References basic_int, and basic_int_p.
Referenced by arguments_are_longlonginteger().
Definition at line 1674 of file bootstrap.c.
References basic_float, and basic_float_p.
Referenced by arguments_are_real().
|
static |
Definition at line 3378 of file bootstrap.c.
References exp, and is_string_specifier().
Referenced by check_io_list().
|
static |
Verify if an expression is a constant: YES : return true; otherwise, return FALSE.
Definition at line 3046 of file bootstrap.c.
References call_function, entity_constant_p, exp, expression_syntax, syntax_call, and syntax_call_p.
Referenced by is_constant_of_basic().
|
static |
Verify if an expression is a constant of basic b: YES : return true; otherwise, return FALSE.
Definition at line 3060 of file bootstrap.c.
References basic_equal_p(), basic_undefined_p, call_function, entity_type, exp, expression_syntax, functional_result, is_constant(), syntax_call, type_functional, type_variable, and variable_basic.
Referenced by statement_with_at_most_one_integer_or_character().
|
static |
Definition at line 3438 of file bootstrap.c.
References exp, free_basic(), is_varibale_array_element_specifier(), and make_basic_string().
Referenced by check_io_list().
|
static |
Definition at line 3342 of file bootstrap.c.
References exp, and is_label_specifier().
Referenced by check_io_list().
|
static |
Error specifier is a label statement.
Definition at line 3336 of file bootstrap.c.
References exp, and is_label_specifier().
Referenced by check_io_list().
|
static |
Definition at line 3384 of file bootstrap.c.
References exp, free_basic(), is_varibale_array_element_specifier(), and make_basic_logical().
Referenced by check_io_list().
|
static |
Definition at line 3348 of file bootstrap.c.
References exp, and is_string_specifier().
Referenced by check_io_list().
|
static |
Definition at line 3366 of file bootstrap.c.
References exp, and is_string_specifier().
Referenced by check_io_list().
|
static |
Definition at line 3310 of file bootstrap.c.
References exp, and is_label_integer_string_specifier().
Referenced by check_io_list().
|
static |
Definition at line 3447 of file bootstrap.c.
References exp, free_basic(), is_varibale_array_element_specifier(), and make_basic_string().
Referenced by check_io_list().
|
static |
Count the number of errors
Definition at line 3219 of file bootstrap.c.
References add_one_line_of_comment(), basic_int_p, GET_TYPE, stack_head(), and context::stats.
Referenced by is_recl_specifier().
|
static |
Integer variable or integer array element which is maybe modified.
Definition at line 3324 of file bootstrap.c.
References exp, free_basic(), is_varibale_array_element_specifier(), and make_basic_int().
Referenced by check_io_list().
|
static |
Count the number of errors
Definition at line 3252 of file bootstrap.c.
References add_one_line_of_comment(), basic_int_p, basic_string_p, GET_TYPE, is_label_statement(), stack_head(), and context::stats.
Referenced by is_format_specifier(), and is_record_specifier().
|
static |
Count the number of errors
Definition at line 3204 of file bootstrap.c.
References add_one_line_of_comment(), is_label_statement(), stack_head(), and context::stats.
Referenced by is_end_specifier(), and is_err_specifier().
|
static |
Definition at line 3189 of file bootstrap.c.
References call_function, entity_label_p(), exp, expression_syntax, syntax_call, and syntax_call_p.
Referenced by is_label_integer_string_specifier(), and is_label_specifier().
|
static |
Definition at line 3420 of file bootstrap.c.
References exp, free_basic(), is_varibale_array_element_specifier(), and make_basic_string().
Referenced by check_io_list().
|
static |
Definition at line 3411 of file bootstrap.c.
References exp, free_basic(), is_varibale_array_element_specifier(), and make_basic_logical().
Referenced by check_io_list().
|
static |
Definition at line 3465 of file bootstrap.c.
References exp, free_basic(), is_varibale_array_element_specifier(), and make_basic_int().
Referenced by check_io_list().
|
static |
Definition at line 3402 of file bootstrap.c.
References exp, free_basic(), is_varibale_array_element_specifier(), and make_basic_int().
Referenced by check_io_list().
|
static |
Definition at line 3393 of file bootstrap.c.
References exp, free_basic(), is_varibale_array_element_specifier(), and make_basic_logical().
Referenced by check_io_list().
|
static |
Definition at line 3372 of file bootstrap.c.
References exp, and is_integer_specifier().
Referenced by check_io_list().
|
static |
Definition at line 3316 of file bootstrap.c.
References exp, and is_label_integer_string_specifier().
Referenced by check_io_list().
|
static |
Definition at line 3429 of file bootstrap.c.
References exp, free_basic(), is_varibale_array_element_specifier(), and make_basic_string().
Referenced by check_io_list().
|
static |
Definition at line 3354 of file bootstrap.c.
References exp, and is_string_specifier().
Referenced by check_io_list().
|
static |
Count the number of errors
Definition at line 3236 of file bootstrap.c.
References add_one_line_of_comment(), basic_string_p, GET_TYPE, stack_head(), and context::stats.
Referenced by is_access_specifier(), is_blank_specifier(), is_file_specifier(), is_form_specifier(), and is_status_specifier().
|
static |
Definition at line 3456 of file bootstrap.c.
References exp, free_basic(), is_varibale_array_element_specifier(), and make_basic_string().
Referenced by check_io_list().
|
static |
This function verifies the unit specifier; that is integer positive expression or character expression (According to ANSI X3.9-1978 FORTRAN 77; PAGE 12-7)
Count the number of errors
Definition at line 3292 of file bootstrap.c.
References add_one_line_of_comment(), basic_int_p, basic_string_p, exp, GET_TYPE, stack_head(), and context::stats.
Referenced by check_io_list().
|
static |
Count the number of errors
Definition at line 3270 of file bootstrap.c.
References add_one_line_of_comment(), basic_equal_p(), basic_string_p, basic_to_string(), expression_syntax, GET_TYPE, stack_head(), context::stats, and syntax_reference_p.
Referenced by is_direct_specifier(), is_exist_specifier(), is_formated_specifier(), is_iostat_specifier(), is_name_specifier(), is_named_specifier(), is_nextrec_specifier(), is_number_specifier(), is_opened_specifier(), is_sequential_specifier(), and is_unformated_specifier().
Definition at line 1020 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeCharacterParameter(), MakeLogicalResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
MB.
Definition at line 791 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeIntegerResult(), MakeQuadprecisionParameter(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
MB.
Definition at line 834 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeQuadprecisionParameter(), MakeQuadprecisionResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
MB.
Definition at line 805 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeLongIntegerResult(), MakeQuadprecisionParameter(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
MB.
Definition at line 819 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeLongLongIntegerResult(), MakeQuadprecisionParameter(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
MB.
Definition at line 917 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeLongDoublecomplexParameter(), MakeQuadprecisionResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
MB.
Definition at line 903 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeLongDoublecomplexParameter(), MakeLongDoublecomplexResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
MB.
Definition at line 733 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeDoubleprecisionParameter(), MakeLongIntegerResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
MB.
Definition at line 4236 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeLongIntegerParameter(), MakeOverloadedResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
MB.
Definition at line 747 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeDoubleprecisionParameter(), MakeLongLongIntegerResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
MB.
Definition at line 4250 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeLongLongIntegerParameter(), MakeOverloadedResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
varargs
Definition at line 329 of file bootstrap.c.
References CONS, copy_type(), free_parameter(), is_mode_reference, is_type_varargs, make_dummy_unknown(), make_mode(), make_parameter(), make_type(), NIL, PARAMETER, parameter_type, and UU.
Referenced by __attribute__(), character_to_character_type(), character_to_integer_type(), character_to_logical_type(), complex_to_complex_type(), complex_to_real_type(), default_intrinsic_type(), double_to_double_type(), double_to_integer_type(), double_to_longinteger_type(), double_to_longlonginteger_type(), doublecomplex_to_double_type(), doublecomplex_to_doublecomplex_type(), integer_to_integer_type(), integer_to_logical_type(), integer_to_overloaded_type(), integer_to_real_type(), integer_to_void_type(), logical_to_logical_type(), longdouble_to_integer_type(), longdouble_to_longdouble_type(), longdouble_to_longinteger_type(), longdouble_to_longlonginteger_type(), longdoublecomplex_to_longdouble_type(), longdoublecomplex_to_longdoublecomplex_type(), longinteger_to_longinteger_type(), longinteger_to_overloaded_type(), longlonginteger_to_longlonginteger_type(), longlonginteger_to_overloaded_type(), overloaded_to_complex_type(), overloaded_to_double_type(), overloaded_to_doublecomplex_type(), overloaded_to_integer_type(), overloaded_to_logical_type(), overloaded_to_longdouble_type(), overloaded_to_real_type(), overloaded_to_void_type(), pointer_to_overloaded_type(), real_to_double_type(), real_to_integer_type(), real_to_longinteger_type(), real_to_longlonginteger_type(), real_to_real_type(), unsigned_integer_to_void_pointer_type(), and void_to_integer_type().
string MakeFileName | ( | char * | prefix, |
char * | base, | ||
char * | suffix | ||
) |
prefix | refix |
base | ase |
suffix | uffix |
Definition at line 5687 of file bootstrap.c.
References base, malloc(), and prefix.
This function creates an entity that represents an intrinsic function.
Fortran operators and basic statements are intrinsic functions.
An intrinsic function has a rom storage, an unknown initial value and a functional type whose result and arguments have an overloaded basic type. The number of arguments is given by the IntrinsicTypeDescriptorTable data structure.
Definition at line 4351 of file bootstrap.c.
References AddPackageToName(), DEFAULT_ENTITY_KIND, is_storage_rom, is_value_intrinsic, make_entity, make_storage(), make_value(), NIL, TOP_LEVEL_MODULE_NAME, and UU.
Referenced by FindOrMakeDefaultIntrinsic(), and FindOrMakeIntrinsic().
This array is pointed by FILE * pointers returned or used by fopen, fclose,...
. The argument f must be the intrinsic fopen returning a FILE * or another function also returning a FILE *. So we do not have to synthesize the type FILE.
FI: this initialization is usually performed in bootstrap.c, but it is easier to do it here because the IO_FILE type does not have to be built from scratch.
Definition at line 5705 of file bootstrap.c.
References CONS, copy_type(), DIMENSION, ENDP, entity_initial, entity_storage, entity_type, f(), FindEntity(), FindOrCreateEntity(), functional_result, int_to_expression(), IO_EFFECTS_IO_FILE_NAME, IO_EFFECTS_PACKAGE_NAME, is_storage_ram, is_value_unknown, make_dimension(), make_ram(), make_storage(), make_value(), NIL, pips_assert, STATIC_AREA_LOCAL_NAME, TOP_LEVEL_MODULE_NAME, type_functional, type_to_pointed_type(), type_undefined_p, type_variable, UU, and variable_dimensions.
Referenced by binary_intrinsic_call_to_points_to_sinks(), and create_stub_points_to().
value MakeValueLitteral | ( | void | ) |
Definition at line 5680 of file bootstrap.c.
References is_constant_litteral, is_value_constant, make_constant(), make_value(), and UU.
Referenced by EvalConstant().
parameter MakeVoidParameter | ( | void | ) |
Definition at line 4199 of file bootstrap.c.
References is_mode_reference, is_type_void, make_dummy_unknown(), make_mode(), make_parameter(), make_type(), and UU.
Referenced by __attribute__(), and void_to_integer_type().
type MakeVoidResult | ( | void | ) |
Move the following functions to ri-util/type.c.
Definition at line 4193 of file bootstrap.c.
References is_type_void, make_type(), and UU.
Referenced by overloaded_to_void_type().
|
static |
To please the compiler
Definition at line 2971 of file bootstrap.c.
References basic_undefined, and pips_internal_error.
Referenced by CreateIntrinsics().
Definition at line 432 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeComplexResult(), MakeOverloadedParameter(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
Definition at line 404 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeDoubleprecisionResult(), MakeOverloadedParameter(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
Definition at line 446 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeDoublecomplexResult(), MakeOverloadedParameter(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
Definition at line 376 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeIntegerResult(), MakeOverloadedParameter(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
type t = type_undefined; functional ft = functional_undefined;
ft = make_functional(NIL, MakeLongDoublecomplexResult()); functional_parameters(ft) = make_parameter_list(n, MakeOverloadedParameter); t = make_type(is_type_functional, ft);
return t; }
Definition at line 474 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeLogicalResult(), MakeOverloadedParameter(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
MB.
Definition at line 418 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeOverloadedParameter(), MakeQuadprecisionResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
Definition at line 390 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeOverloadedParameter(), MakeRealResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
Definition at line 4292 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeOverloadedParameter(), MakeVoidResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
Definition at line 4208 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeOverloadedResult(), MakePointerParameter(), NIL, and type_undefined.
Definition at line 652 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeDoubleprecisionResult(), MakeRealParameter(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
Definition at line 626 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeIntegerResult(), MakeRealParameter(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
MB.
Definition at line 665 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeLongIntegerResult(), MakeRealParameter(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
MB.
Definition at line 678 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeLongLongIntegerResult(), MakeRealParameter(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
Definition at line 639 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeRealParameter(), MakeRealResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
void register_intrinsic_type_descriptor | ( | IntrinsicDescriptor * | p | ) |
This function is called one time (at the very beginning) to create all intrinsic functions.
Definition at line 4411 of file bootstrap.c.
References FindOrMakeIntrinsic(), hash_put(), IntrinsicDescriptor::intrinsic_type, intrinsic_type_descriptor_mapping, IntrinsicDescriptor::name, and IntrinsicDescriptor::nbargs.
Referenced by CreateIntrinsics(), and step_analyse_init().
|
static |
forward declarations
Definition at line 4176 of file bootstrap.c.
References exp, free_basic(), make_basic_complex(), and simplification_conversion().
Referenced by CreateIntrinsics(), and switch_specific_cmplx().
|
static |
Argument is a variable
e.g: INT(I) -> I
e.g: CMPLX(R) -> CMPLX(R, 0.0E0)
e.g: DCMPLX(D) -> DCMPLX(D, 0.0D0)
Argument is a call
e.g: INT(INT(R)) -> INT(R)
Cast constant if necessary
Conversion: CMPLX, CMPLX_, DCMPLX, DCMPLX_
Imagine party is empty
Argument is NOT complex or double complex
CMPLX
DCMPLX
CMPLX(C) -> C; DCMPLX(DC) -> DC
Argument being a call is examined in typing function
Cast constants if necessary
Number of simplifications is already counted in cast_constant()
Conversion: INT (IFIX, ...), REAL (FLOAT, ...), DBLE e.g: INT(2.9) -> 2
Number of simplifications is already counted in cast_constant()
Update exp
Definition at line 3999 of file bootstrap.c.
References basic_complex, basic_complex_p, basic_equal_p(), call_arguments, call_function, CAR, cast_constant(), CDR, CONS, copy_expression(), copy_normalized(), copy_syntax(), entity_basic(), ENTITY_CONVERSION_CMPLX_P, ENTITY_CONVERSION_DCMPLX_P, ENTITY_IMPLIED_CMPLX_P, ENTITY_IMPLIED_DCMPLX_P, exp, EXPRESSION, expression_normalized, expression_syntax, free_expression(), free_normalized(), free_syntax(), GET_TYPE, is_basic_float, is_syntax_call, make_call(), make_constant_entity(), make_expression(), make_syntax(), NIL, normalized_undefined, pips_assert, reference_variable, syntax_call, syntax_call_p, syntax_reference, and syntax_reference_p.
Referenced by simplification_complex(), simplification_dcomplex(), simplification_double(), simplification_int(), and simplification_real().
|
static |
Definition at line 4183 of file bootstrap.c.
References exp, free_basic(), make_basic_complex(), and simplification_conversion().
Referenced by CreateIntrinsics(), and switch_specific_dcmplx().
|
static |
Definition at line 4169 of file bootstrap.c.
References exp, free_basic(), make_basic_float(), and simplification_conversion().
Referenced by CreateIntrinsics().
|
static |
Definition at line 4155 of file bootstrap.c.
References exp, free_basic(), make_basic_int(), and simplification_conversion().
Referenced by CreateIntrinsics().
|
static |
Definition at line 4162 of file bootstrap.c.
References exp, free_basic(), make_basic_float(), and simplification_conversion().
Referenced by CreateIntrinsics().
|
static |
Count the number of errors
Count the number of errors
Here, we are not interested in the basic returned
Definition at line 3153 of file bootstrap.c.
References add_one_line_of_comment(), basic_int_p, basic_undefined, call_arguments, call_function, CAR, CDR, entity_local_name(), EXPRESSION, GET_TYPE, NIL, stack_head(), and context::stats.
Referenced by CreateIntrinsics().
|
static |
Count the number of errors
Count the number of errors
Count the number of errors
Here, we are not interested in the basic returned
Definition at line 3100 of file bootstrap.c.
References add_one_line_of_comment(), basic_undefined, call_arguments, call_function, CAR, CDR, entity_local_name(), EXPRESSION, expression_syntax, free_basic(), is_constant_of_basic(), make_basic_int(), make_basic_string(), NIL, stack_head(), context::stats, and syntax_call.
Referenced by CreateIntrinsics().
|
static |
Count the number of errors
Here, we are not interested in the basic returned
Definition at line 3079 of file bootstrap.c.
References add_one_line_of_comment(), basic_undefined, call_arguments, call_function, entity_local_name(), NIL, stack_head(), and context::stats.
Referenced by CreateIntrinsics().
Definition at line 973 of file bootstrap.c.
References CONS, functional_parameters, functional_undefined, gen_length(), is_type_functional, make_functional(), make_type(), MakeCharacterParameter(), MakeCharacterResult(), MakeIntegerParameter(), NIL, PARAMETER, pips_assert, and type_undefined.
Referenced by CreateIntrinsics().
|
static |
Each intrinsic of name generic have a function for switching to the specific name correspondent with the argument
Here, expression_syntax(exp) is always a call
else generic name is kept...
Modify the (function:entity) of the call c if necessary NOTE: If specific_name == NULL: Invalid argument or argument basic unknown
Count number of simplifications
Definition at line 3748 of file bootstrap.c.
References basic_complex, basic_complex_p, basic_float, basic_float_p, basic_int_p, call_arguments, call_function, CAR, CreateIntrinsic(), entity_local_name(), exp, EXPRESSION, expression_syntax, GET_TYPE, syntax_call, and TC_DCOMPLEX.
Referenced by switch_specific_abs(), switch_specific_acos(), switch_specific_aint(), switch_specific_anint(), switch_specific_asin(), switch_specific_atan(), switch_specific_atan2(), switch_specific_cos(), switch_specific_cosh(), switch_specific_dim(), switch_specific_exp(), switch_specific_log(), switch_specific_log10(), switch_specific_max(), switch_specific_min(), switch_specific_mod(), switch_specific_nint(), switch_specific_sign(), switch_specific_sin(), switch_specific_sinh(), switch_specific_sqrt(), switch_specific_tan(), and switch_specific_tanh().
|
static |
ABS.
Definition at line 3825 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
ACOS.
Definition at line 3923 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
AINT.
Definition at line 3804 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
ANINT.
Definition at line 3811 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
ASIN.
Definition at line 3916 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
ATAN.
Definition at line 3930 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
ATAN2.
Definition at line 3937 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
Definition at line 3969 of file bootstrap.c.
References call_function, CreateIntrinsic(), exp, expression_call_p(), expression_syntax, get_bool_property(), pips_assert, simplification_complex(), and syntax_call.
Referenced by CreateIntrinsics().
|
static |
COS.
Definition at line 3902 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
COSH.
Definition at line 3951 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
Definition at line 3981 of file bootstrap.c.
References call_function, CreateIntrinsic(), exp, expression_call_p(), expression_syntax, get_bool_property(), pips_assert, simplification_dcomplex(), syntax_call, and TC_DCOMPLEX.
Referenced by CreateIntrinsics().
|
static |
DIM.
Definition at line 3846 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
EXP.
Definition at line 3874 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
LOG.
Definition at line 3881 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
LOG10.
Definition at line 3888 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
MAX.
Definition at line 3853 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
MIN.
Definition at line 3860 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
MOD.
Definition at line 3832 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
NINT.
Definition at line 3818 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
SIGN.
Definition at line 3839 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
SIN.
Definition at line 3895 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
SINH.
Definition at line 3944 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
SQRT.
Definition at line 3867 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
TAN.
Definition at line 3909 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
|
static |
TANH.
Definition at line 3958 of file bootstrap.c.
References exp, and switch_generic_to_specific().
Referenced by CreateIntrinsics().
void type_loop_range | ( | basic | index, |
range | r, | ||
type_context_p | context | ||
) |
index | ndex |
context | ontext |
Definition at line 1038 of file bootstrap.c.
References basic_equal_p(), GET_TYPE, insert_cast(), range_increment, range_lower, and range_upper.
Referenced by check_this_loop(), and typing_implied_do().
|
static |
Update hash table
Definition at line 1996 of file bootstrap.c.
References b1, basic_equal_p(), call_arguments, CAR, CDR, copy_basic(), EXPRESSION, EXPRESSION_, GET_TYPE, insert_cast(), NIL, and PUT_TYPE.
Referenced by typing_arithmetic_operator(), typing_function_constant_complex(), typing_function_constant_dcomplex(), typing_function_conversion_to_complex(), typing_function_conversion_to_dcomplex(), typing_function_IntegerRealDouble_to_IntegerRealDouble(), typing_function_IntegerRealDoubleComplex_to_IntegerRealDoubleReal(), typing_function_RealDouble_to_Integer(), typing_function_RealDouble_to_RealDouble(), typing_function_RealDoubleComplex_to_RealDoubleComplex(), and typing_relational_operator().
|
static |
Just for return a result
Find the longest type amongs all arguments
Typing all arguments to b if necessary
Definition at line 2020 of file bootstrap.c.
References arguments_are_IRDC(), basic_union_arguments(), make_basic_float(), and typing_arguments().
Referenced by CreateIntrinsics().
|
static |
Count the number of errors
Count the number of errors
Count the number of errors
count > 4
Count the number of errors
Count the number of errors
Definition at line 2867 of file bootstrap.c.
References add_one_line_of_comment(), basic_int_p, basic_string_p, basic_undefined, call_arguments, count, EXPRESSION, expression_syntax, GET_TYPE, MAP, stack_head(), context::stats, and syntax_reference_p.
Referenced by CreateIntrinsics().
|
static |
Count the number of errors
PDSon: Nobody knows the type of 3 last arguments, I do nothing here
count > 4
Count the number of errors
Count the number of errors
Definition at line 2926 of file bootstrap.c.
References add_one_line_of_comment(), basic_int_p, basic_undefined, call_arguments, call_function, count, entity_local_name(), EXPRESSION, GET_TYPE, MAP, stack_head(), and context::stats.
Referenced by CreateIntrinsics().
|
static |
Just for return a result
Definition at line 2120 of file bootstrap.c.
References arguments_are_character(), make_basic_string(), and value_undefined.
Referenced by CreateIntrinsics().
|
static |
INT
LONG INT : added by MB
LONG LONG INT
REAL
DOUBLE
LONG DOUBLE : added by MB
COMPLEX
DOUBLE COMPLEX
LONG DOUBLE COMPLEX : added by MB
CHAR
LOGICAL
UNEXPECTED
ERROR: Invalide of argument type
Count the number of errors
Definition at line 2135 of file bootstrap.c.
References add_one_line_of_comment(), arguments_are_character(), arguments_are_complex(), arguments_are_dcomplex(), arguments_are_double(), arguments_are_integer(), arguments_are_logical(), arguments_are_longdcomplex(), arguments_are_longdouble(), arguments_are_longinteger(), arguments_are_longlonginteger(), arguments_are_real(), basic_complex, basic_complex_p, basic_float, basic_float_p, basic_int, basic_int_p, basic_logical_p, basic_string_p, basic_to_string(), call_function, copy_basic(), entity_local_name(), pips_internal_error, stack_head(), context::stats, TC_DCOMPLEX, and TC_LONGDCOMPLEX.
Referenced by typing_function_char_to_int(), typing_function_char_to_logical(), typing_function_complex_to_complex(), typing_function_complex_to_real(), typing_function_dcomplex_to_dcomplex(), typing_function_dcomplex_to_double(), typing_function_double_to_double(), typing_function_double_to_int(), typing_function_double_to_longint(), typing_function_double_to_longlongint(), typing_function_int_to_char(), typing_function_int_to_int(), typing_function_int_to_logical(), typing_function_int_to_real(), typing_function_longdcomplex_to_longdcomplex(), typing_function_longdcomplex_to_longdouble(), typing_function_longdouble_to_int(), typing_function_longdouble_to_longdouble(), typing_function_longdouble_to_longint(), typing_function_longdouble_to_longlongint(), typing_function_longint_to_longint(), typing_function_longlongint_to_longlongint(), typing_function_real_to_double(), typing_function_real_to_int(), typing_function_real_to_longint(), typing_function_real_to_longlongint(), and typing_function_real_to_real().
|
static |
Definition at line 2311 of file bootstrap.c.
References free_basic(), make_basic_int(), make_basic_string(), typing_function_argument_type_to_return_type(), and value_undefined.
Referenced by CreateIntrinsics().
|
static |
Definition at line 2507 of file bootstrap.c.
References free_basic(), make_basic_logical(), make_basic_string(), typing_function_argument_type_to_return_type(), and value_undefined.
Referenced by CreateIntrinsics().
|
static |
Definition at line 2273 of file bootstrap.c.
References free_basic(), make_basic_complex(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
Definition at line 2483 of file bootstrap.c.
References free_basic(), make_basic_complex(), make_basic_float(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
CMPLX_.
Just for return result
Typing all arguments to REAL if necessary
Definition at line 2738 of file bootstrap.c.
References arguments_are_IR(), free_basic(), make_basic_complex(), make_basic_float(), and typing_arguments().
Referenced by CreateIntrinsics().
|
static |
DCMPLX_.
Just for return result
Typing all arguments to DOUBLE if necessary
Definition at line 2755 of file bootstrap.c.
References arguments_are_IRD(), free_basic(), make_basic_complex(), make_basic_float(), and typing_arguments().
Referenced by CreateIntrinsics().
|
static |
Just for return result
Argument is a varibale
Free memory occupied by old argument list
Typing all arguments to REAL if necessary
Definition at line 2669 of file bootstrap.c.
References arguments_are_IRDC(), basic_complex_p, call_arguments, CAR, CDR, EXPRESSION, expression_syntax, free_basic(), GET_TYPE, make_basic_complex(), make_basic_float(), NIL, syntax_call, syntax_call_p, and typing_arguments().
Referenced by CreateIntrinsics().
|
static |
Just for return result
Argument is a varibale
Free memory occupied by old argument list
Typing all arguments to DBLE if necessary
Definition at line 2703 of file bootstrap.c.
References arguments_are_IRDC(), basic_complex_p, call_arguments, CAR, CDR, EXPRESSION, expression_syntax, free_basic(), GET_TYPE, make_basic_complex(), make_basic_float(), NIL, syntax_call, syntax_call_p, and typing_arguments().
Referenced by CreateIntrinsics().
|
static |
Definition at line 2661 of file bootstrap.c.
References free_basic(), make_basic_float(), and typing_function_conversion_to_numeric().
Referenced by CreateIntrinsics().
|
static |
Definition at line 2645 of file bootstrap.c.
References free_basic(), make_basic_int(), and typing_function_conversion_to_numeric().
Referenced by CreateIntrinsics().
|
static |
Definition at line 2635 of file bootstrap.c.
References arguments_are_IRDC(), and copy_basic().
Referenced by typing_function_conversion_to_double(), typing_function_conversion_to_integer(), and typing_function_conversion_to_real().
|
static |
Definition at line 2653 of file bootstrap.c.
References free_basic(), make_basic_float(), and typing_function_conversion_to_numeric().
Referenced by CreateIntrinsics().
|
static |
Definition at line 2282 of file bootstrap.c.
References free_basic(), make_basic_complex(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
Definition at line 2495 of file bootstrap.c.
References free_basic(), make_basic_complex(), make_basic_float(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
Definition at line 2255 of file bootstrap.c.
References free_basic(), make_basic_float(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
Definition at line 2398 of file bootstrap.c.
References free_basic(), make_basic_float(), make_basic_int(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
MB.
Definition at line 2410 of file bootstrap.c.
References free_basic(), make_basic_float(), make_basic_int(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
MB.
Definition at line 2422 of file bootstrap.c.
References free_basic(), make_basic_float(), make_basic_int(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
Definition at line 2779 of file bootstrap.c.
References make_basic_int().
Referenced by CreateIntrinsics().
|
static |
Definition at line 2322 of file bootstrap.c.
References free_basic(), make_basic_int(), make_basic_string(), typing_function_argument_type_to_return_type(), and value_undefined.
Referenced by CreateIntrinsics().
|
static |
Definition at line 2219 of file bootstrap.c.
References free_basic(), make_basic_int(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
function added to handle one of the bit manipulation functions : BTEST.
Amira Mensi
Definition at line 2385 of file bootstrap.c.
References free_basic(), make_basic_float(), make_basic_int(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
Definition at line 2370 of file bootstrap.c.
References free_basic(), make_basic_float(), make_basic_int(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
Just for return a result
Find the longest type amongs all arguments
Definition at line 2576 of file bootstrap.c.
References arguments_are_IRD(), basic_union_arguments(), make_basic_float(), and typing_arguments().
Referenced by CreateIntrinsics().
|
static |
Just for return result
Find the longest type amongs all arguments
Typing all arguments to b if necessary
CMPLX --> REAL
DCMPLX -> DOUBLE
else?
Definition at line 2600 of file bootstrap.c.
References arguments_are_IRDC(), basic_complex, basic_complex_p, basic_union_arguments(), free_basic(), make_basic_float(), TC_DCOMPLEX, and typing_arguments().
Referenced by CreateIntrinsics().
|
static |
B: added for long double complex type.
Definition at line 2291 of file bootstrap.c.
References free_basic(), make_basic_complex(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
MB.
Definition at line 2300 of file bootstrap.c.
References free_basic(), make_basic_complex(), make_basic_float(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
MB.
Definition at line 2433 of file bootstrap.c.
References free_basic(), make_basic_float(), make_basic_int(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
MB.
Definition at line 2264 of file bootstrap.c.
References free_basic(), make_basic_float(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
MB.
Definition at line 2446 of file bootstrap.c.
References free_basic(), make_basic_float(), make_basic_int(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
MB.
Definition at line 2459 of file bootstrap.c.
References free_basic(), make_basic_float(), make_basic_int(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
MB.
Definition at line 2228 of file bootstrap.c.
References free_basic(), make_basic_int(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
MB.
Definition at line 2237 of file bootstrap.c.
References free_basic(), make_basic_int(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
Definition at line 2772 of file bootstrap.c.
References make_basic_overloaded().
Referenced by CreateIntrinsics().
|
static |
Definition at line 2471 of file bootstrap.c.
References free_basic(), make_basic_float(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
Definition at line 2334 of file bootstrap.c.
References free_basic(), make_basic_float(), make_basic_int(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
MB.
Definition at line 2346 of file bootstrap.c.
References free_basic(), make_basic_float(), make_basic_int(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
MB.
Definition at line 2358 of file bootstrap.c.
References free_basic(), make_basic_float(), make_basic_int(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
Definition at line 2246 of file bootstrap.c.
References free_basic(), make_basic_float(), and typing_function_argument_type_to_return_type().
Referenced by CreateIntrinsics().
|
static |
Just for return a result
Find the longest type amongs all arguments
Typing all arguments to b if necessary
Definition at line 2540 of file bootstrap.c.
References arguments_are_RD(), basic_union_arguments(), free_basic(), make_basic_float(), make_basic_int(), and typing_arguments().
Referenced by CreateIntrinsics().
|
static |
Just for return a result
Find the longest type amongs all arguments
Typing all arguments to b if necessary
Definition at line 2523 of file bootstrap.c.
References arguments_are_RD(), basic_union_arguments(), make_basic_float(), and typing_arguments().
Referenced by CreateIntrinsics().
|
static |
Just for return a result
Find the longest type amongs all arguments
Typing all arguments to b if necessary
Definition at line 2558 of file bootstrap.c.
References arguments_are_RDC(), basic_union_arguments(), make_basic_float(), and typing_arguments().
Referenced by CreateIntrinsics().
|
static |
Count the number of errors
range
Count the number of errors
Count the number of errors
Definition at line 2980 of file bootstrap.c.
References add_one_line_of_comment(), basic_int_p, basic_undefined, call_arguments, call_function, check_loop_range(), count, entity_local_name(), EXPRESSION, expression_syntax, GET_TYPE, MAP, stack_head(), context::stats, syntax_range, syntax_range_p, syntax_reference_p, and type_loop_range().
Referenced by CreateIntrinsics().
|
static |
Just for return a result
Definition at line 2107 of file bootstrap.c.
References arguments_are_logical(), and make_basic_logical().
Referenced by CreateIntrinsics().
|
static |
Count the number of errors
Here, we aren't interested in the type of return
Definition at line 2786 of file bootstrap.c.
References add_one_line_of_comment(), arguments_are_compatible(), b1, b2, basic_equal_p(), basic_undefined, call_arguments, call_function, CAR, CDR, entity_local_name(), EXPRESSION, EXPRESSION_, GET_TYPE, insert_cast(), stack_head(), and context::stats.
Referenced by CreateIntrinsics().
|
static |
of expression
Just for return a result
Fortran prefers: (ANSI X3.9-1978, FORTRAN 77, PAGE 6-6, TABLE 3) "var_double = var_double ** var_int" instead of "var_double = var_double ** DBLE(var_int)"
Definition at line 2041 of file bootstrap.c.
References arguments_are_IRDC(), b1, b2, basic_equal_p(), basic_int_p, basic_undefined, call_arguments, CAR, CDR, copy_basic(), EXPRESSION, EXPRESSION_, GET_TYPE, insert_cast(), is_inferior_basic(), and make_basic_float().
Referenced by CreateIntrinsics().
|
static |
Just for return a result
Find the longest type amongs all arguments
Typing all arguments to b if necessary
Definition at line 2085 of file bootstrap.c.
References arguments_are_IRDCS(), basic_union_arguments(), free_basic(), make_basic_logical(), and typing_arguments().
Referenced by CreateIntrinsics().
|
static |
Count the number of errors
Count the number of errors
count > 3
Count the number of errors
Count the number of errors
Definition at line 2815 of file bootstrap.c.
References add_one_line_of_comment(), basic_int_p, basic_string_p, call_arguments, count, EXPRESSION, expression_syntax, GET_TYPE, make_basic_string(), MAP, stack_head(), context::stats, syntax_reference_p, and value_undefined.
Referenced by CreateIntrinsics().
Definition at line 517 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeUnsignedIntegerParameter(), MakeVoidPointerResult(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
Definition at line 4306 of file bootstrap.c.
References functional_parameters, functional_undefined, is_type_functional, make_functional(), make_parameter_list(), make_type(), MakeIntegerResult(), MakeVoidParameter(), NIL, and type_undefined.
Referenced by CreateIntrinsics().
C only because of pointer.
e.g. atexit()
Definition at line 551 of file bootstrap.c.
References CONS, functional_parameters, functional_undefined, is_type_functional, make_dummy_unknown(), make_functional(), make_mode_value(), make_parameter(), make_type(), MakeIntegerResult(), NIL, PARAMETER, pips_assert, type_consistent_p(), type_to_pointer_type(), type_undefined, and void_to_void_type().
Referenced by CreateIntrinsics().
Can be used for C or Fortran functions.
E.g. abort()
Definition at line 531 of file bootstrap.c.
References CONS, functional_parameters, functional_undefined, is_type_functional, make_dummy_unknown(), make_functional(), make_mode_value(), make_parameter(), make_type(), make_type_void(), NIL, PARAMETER, pips_assert, type_consistent_p(), and type_undefined.
Referenced by CreateIntrinsics(), and void_to_void_to_int_pointer_type().
|
static |
Definition at line 4324 of file bootstrap.c.
Referenced by CreateIntrinsics(), get_switch_name_function_for_intrinsic(), get_typing_function_for_intrinsic(), and register_intrinsic_type_descriptor().