1998-08-27 22:51:38 +02:00
|
|
|
|
/* Definitions for CHILL parsing and type checking.
|
2000-02-26 14:51:58 +01:00
|
|
|
|
Copyright (C) 1992, 1993, 1994, 1998,
|
2001-07-10 12:38:10 +02:00
|
|
|
|
1999, 2000, 2001 Free Software Foundation, Inc.
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
This file is part of GNU CC.
|
|
|
|
|
|
|
|
|
|
GNU CC is free software; you can redistribute it and/or modify
|
|
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
|
the Free Software Foundation; either version 2, or (at your option)
|
|
|
|
|
any later version.
|
|
|
|
|
|
|
|
|
|
GNU CC is distributed in the hope that it will be useful,
|
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
|
along with GNU CC; see the file COPYING. If not, write to
|
1999-01-11 14:17:38 +01:00
|
|
|
|
the Free Software Foundation, 59 Temple Place - Suite 330,
|
|
|
|
|
Boston, MA 02111-1307, USA. */
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
2001-05-26 03:31:47 +02:00
|
|
|
|
#ifndef GCC_CH_TREE_H
|
|
|
|
|
#define GCC_CH_TREE_H
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* Usage of TREE_LANG_FLAG_?:
|
|
|
|
|
1: TUPLE_NAMED_FIELD
|
|
|
|
|
" TYPE_FIELDS_READONLY (in ARRAY_TYPE, RECORD_TYPE or UNION_TYPE)
|
|
|
|
|
" C_DECLARED_LABEL_FLAG
|
|
|
|
|
" C_TYPE_VARIABLE_SIZE
|
|
|
|
|
2: C_TYPE_FIELDS_VOLATILE (in RECORD_TYPE or UNION_TYPE)
|
|
|
|
|
" ELSE_LABEL_SPECIFIED (in CASE selector expression)
|
|
|
|
|
3: UNSATISFIED_FLAG
|
|
|
|
|
4: CH_USE_SEIZEFILE_RESTRICTED
|
|
|
|
|
" CH_ALREADY_GRANTED
|
|
|
|
|
5: CH_DERIVED_FLAG (in EXPR or DECL)
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/* Usage of TYPE_LANG_FLAG_?:
|
|
|
|
|
0: CH_TYPE_NONVALUE_P
|
|
|
|
|
1: C_TYPE_VARIABLE_SIZE
|
|
|
|
|
2: CH_IS_ACCESS_MODE
|
|
|
|
|
3: CH_IS_BUFFER_MODE
|
|
|
|
|
4: CH_IS_EVENT_MODE
|
|
|
|
|
5: CH_ENUM_IS_NUMBERED
|
|
|
|
|
6: CH_IS_TEXT_MODE
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/* Language-dependent contents of an identifier. */
|
|
|
|
|
|
|
|
|
|
struct lang_identifier
|
|
|
|
|
{
|
|
|
|
|
/* These match the fields in c-tree.h. */
|
|
|
|
|
struct tree_identifier ignore;
|
|
|
|
|
tree outer_value, local_value, implicit_decl;
|
|
|
|
|
tree error_locus, limbo_value;
|
|
|
|
|
|
|
|
|
|
/* These are Chill-specific. */
|
|
|
|
|
tree forbid;
|
|
|
|
|
tree signal_dest;
|
|
|
|
|
int signal_data;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/* Macros for access to language-specific slots in an identifier. */
|
|
|
|
|
|
|
|
|
|
/* The outer_value is a chain of decls (normally a single decl),
|
|
|
|
|
that have been granted into the scope surrounding all modules. */
|
|
|
|
|
#define IDENTIFIER_OUTER_VALUE(NODE) \
|
|
|
|
|
(((struct lang_identifier *)(NODE))->outer_value)
|
|
|
|
|
#define IDENTIFIER_LOCAL_VALUE(NODE) \
|
|
|
|
|
(((struct lang_identifier *)(NODE))->local_value)
|
|
|
|
|
#define IDENTIFIER_IMPLICIT_DECL(NODE) \
|
|
|
|
|
(((struct lang_identifier *)(NODE))->implicit_decl)
|
|
|
|
|
#define IDENTIFIER_ERROR_LOCUS(NODE) \
|
|
|
|
|
(((struct lang_identifier *)(NODE))->error_locus)
|
|
|
|
|
#define IDENTIFIER_FORBID(NODE) \
|
|
|
|
|
(((struct lang_identifier *)(NODE))->forbid)
|
|
|
|
|
|
|
|
|
|
/* The nesting level increates by one for every nested 'group'.
|
|
|
|
|
Predefined declarations have level -1; the global scope is level 0.
|
|
|
|
|
*/
|
|
|
|
|
#define DECL_NESTING_LEVEL(DECL) \
|
tree.h (INT_CST_LT, [...]): Remove unneeded casts.
* tree.h (INT_CST_LT, INT_CST_LT_UNSIGNED): Remove unneeded casts.
(struct tree_int_cst): int_cst_low is now unsigned HOST_WIDE_INT.
(attribute_hash_list, type_hash_canon): hashcode is now unsigned.
(type_hash_lookup, type_hash_add, type_hash_list): Likewise.
(min_precision): Result is unsignd.
(add_double, neg_double, mul_double): Low word is unsigned.
(lshift_double, rshift_double, lrotate_double): Likewise.
(rrotate_double, div_and_round_double): Likewise.
(tree_floor_log2, compare_tree_int): New functions.
(preserve_rtl_expr_temps): New declaration.
* c-common.c (declare_hidden_char_array): Use compare_tree_int.
(decl_attributes): Use tree_log2 to find alignment.
Check for TREE_INT_CST_HIGH for format args.
(min_precision): Now unsigned.
Use tree_floor_log2.
(truthvalue_conversion): Delete long-disabled code.
* c-decl.c (finish_struct): Clean up tests on field width.
(finish_function): Use compare_tree_int.
* c-pragma.c (handle_pragma_token): Use tree_log2 for alignment.
* c-typeck.c (comptypes): Use tree_int_cst_equal.
(default_conversion, digest_init): Use compare_tree_int.
(build_binary_op): Use integer_all_onesp and compare_tree_int.
Fix type errors in forming masks.
* calls.c (initialize_argument_information): Use compare_tree_int.
* dbxout.c (dbxout_type): Cast TREE_INT_CST_LOW to HOST_WIDE_INT.
* except.c (expand_eh_region_start_tree): Use compare_tree_int.
* expr.c (is_zeros_p, case INTEGER_CST): Use integer_zerop.
(store_field): Use compare_tree_int.
(expand_expr, case CONSTRUCTOR): Use TYPE_SIZE_UNIT.
(expand_expr, case ARRAY_REF): Use compare_tree_int.
(do_jump, case BIT_AND_EXPR): Use tree_floor_log2.
(do_store_flag): Use compare_tree_int.
* fold-const.c (encode, decode): Low part is always unsigned.
(force_fit_type, add_double, neg_double, mul_double): Likewise.
(lshift_double, rshift_double, lrotate_double): Likewise.
(rrotate_double, div_and_round_double, int_const_binop): Likewise.
(fold_convert): Use compare_tree_int.
(operand_equal_p, case INTEGER_CST): Use tree_int_cst_equal.
(invert_truthvalue, case INTEGER_CST): Likewise.
(fold): Use compare_tree_int; add casts for unsigned TREE_INT_CST_LOW.
* mkdeps.c (deps_dummy_targets): Make I unsigned.
* rtl.h (add_double, neg_double, mul_double): Low words are unsigned.
(lshift_double, rshift_double, lrotate_double, rrotate_double):
Likewise.
* stmt.c (expand_decl): Use compare_tree_int and mode_for_size_tree.
(expand_end_case): Use compare_tree_int.
(estimate_case_costs): Cast TREE_INT_CST_LOW to HOST_WIDE_INT.
* stor-layout.c (mode_for_size_tree): Use compare_tree_int.
(layout_decl): Likewise.
(layout_record, layout_union): Make sizes unsigned.
(layout_type, case VOID_TYPE): TYPE_SIZE must be bitsizetype.
(layout_type, case QUAL_UNION_TYPE): Use compare_tree_int.
* tree.c (struct type_hash): hashcode is unsigned.
(build_type_attribute_variant, type_hash_list): Likewise.
(type_hash_lookup, type_hash_add, type_hash_canon): Likewise.
(attribute_hash_list, build_array_type, build_method_type): Likewise.
(build_complex_type): Likewise.
(real_value_from_int_cst): Remove unneeded casts.
(integer_all_onesp): Add casts.
(tree_floor_log2, compare_tree_int): New functions.
(build_index_type): Use tree_int_cst_sgn.
* varasm.c (assemble_variable): Use compare_tree_int.
* ch/actions.c (chill_convert_for_assignment): INDEX is unsigned
HOST_WIDE_INT.
* ch/ch-tree.h (DECL_NESTING_LEVEL): Use TREE_INT_CST_HIGH
since unsigned.
* ch/except.c (chill_handle_on_labels): ALTERNATIVE is unsigned.
Use compare_tree_int.
(expand_goto_except_cleanup): Likewise.
* cp/class.c (dfs_modify_vtables): I is now unsigned.
(check_bitfield_decl): Use tree_int_cst_sgn and compare_tree_int.
(build_base_field): Add casts of TREE_INT_CST_LOW to HOST_WIDE_INT.
* cp/error.c (dump_expr): Cast TREE_INT_CST_HIGH to unsigned.
* cp/init.c (build_vec_init): Cast TREE_INT_CST_LOW to HOST_WIDE_INT.
* cp/method.c (build_overload_int): Cast TREE_INT_CST_HIGH to unsigned.
* cp/typeck.c (build_binary_op, case TRUNC_DIV_EXPR):
Call integer_all_onesp.
* cp/typeck2.c (process_init_constructor): Use compare_tree_int.
* f/com.c (ffecom_f2c_set_lio_code_): Use compare_tree_int.
(ffecom_sym_transform_, ffecom_transform_common_): Likewise.
(ffecom_transform_equiv_): Likewise.
* java/decl.c (emit_init_test_initialization): Mark KEY as unused.
* java/expr.c (build_newarray): Cast TREE_INT_CST_LOW to HOST_WIDE_INT.
(build_anewarray): Likewise.
* java/parse.y (patch_newarray): Likewise.
* java/parse.c: Regenerated.
From-SVN: r32383
2000-03-07 12:41:32 +01:00
|
|
|
|
((DECL)->decl.vindex ? TREE_INT_CST_HIGH((DECL)->decl.vindex) : -1)
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* Nesting of things that can have an ON-unit attached. */
|
|
|
|
|
extern int action_nesting_level;
|
|
|
|
|
|
|
|
|
|
/* The DECL_NAME of a FIELD_DECL that represents the ELSE part of a variant. */
|
|
|
|
|
#define ELSE_VARIANT_NAME ridpointers[(int) RID_ELSE]
|
|
|
|
|
|
|
|
|
|
/* For a LABEL_DECL: action_nesting_level of its target. */
|
* Eliminate DECL_FIELD_SIZE.
* builtins.c (built_in_class_names, built_in_names): New variables.
* c-decl.c (finish_struct): Set specified size in DECL_SIZE.
* expr.c (expand_expr, case COMPONENT_REF): Get field size from
DECL_SIZE, not DECL_FIELD_SIZE.
* print-tree.c (print_node): Remove code that prints extra blank
lines in some cases.
Properly handle inline and builtin function cases.
* stor-layout.c (layout_decl): Get specified size from DEC_SIZE.
* tree.h (built_in_class_named, built_in_names): New declarations.
(union tree_decl): Rename internal unions to u1 and u2 and change
some of their components.
Add new field built_in_class.
(DECL_ALIGN, DECL_INCOMING_RTL, DECL_SAVED_INSNS, DECL_FRAME_SIZE):
Reflect above changes.
(DECL_FUNCTION_CODE, DECL_BUILT_IN_CLASS): Likewise.
(DECL_SET_FUNCTION_CODE, DECL_FIELD_SIZE): Deleted.
* objc/objc-act.c (objc_copy_list): Use DECL_SIZE, not DECL_FIELD_SIZE.
(encode_field_decl): Likewise; also remove obsolete test for bitfield.
* ch/ch-tree.h (DECL_ACTION_NESTING_LEVEL): Use new tree union name.
* ch/decl.c (finish_struct): Don't clear DECL_FIELD_SIZE.
* ch/typeck.c (make_chill_struct_type): Likewise.
(apply_decl_field_layout): General cleanup.
Set DECL_SIZE instead of DECL_FIELD_SIZE.
* cp/class.c (build_vtbl_or_vbase_field, check_methods): Don't clear
DECL_FIELD_SIZE.
(check_bitfield_decl, check_field_decls): Set DECL_SIZE, not
DECL_FIELD_SIZE.
* cp/rtti.c (expand_class_desc): Likewise.
* cp/cp-tree.h (DECL_INIT_PRIORITY): Use underlying union name.
(THUNK_VCALL_OFFSET): Likewise.
(THUNK_DELTA): Reflect changes in ../tree.h.
* java/java-tree.h (LABEL_PC): Relect name changes in ../tree.h.
(DECL_BIT_INDEX): Use underlying representation.
* java/parse.h (DECL_INHERITED_SOURCE_LINE): Likewise.
From-SVN: r32249
2000-02-29 03:34:48 +01:00
|
|
|
|
#define DECL_ACTION_NESTING_LEVEL(NODE) ((NODE)->decl.u2.i)
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
#define DECL_OLD_PREFIX(DECL) ((DECL)->decl.initial)
|
|
|
|
|
#define DECL_NEW_PREFIX(DECL) ((DECL)->decl.result)
|
|
|
|
|
#define DECL_POSTFIX(DECL) ((DECL)->decl.arguments)
|
|
|
|
|
extern tree ALL_POSTFIX;
|
|
|
|
|
#define DECL_SEIZEFILE(DECL) ((DECL)->decl.size)
|
|
|
|
|
#define DECL_POSTFIX_ALL(DECL) (DECL_POSTFIX(DECL) == ALL_POSTFIX)
|
|
|
|
|
#define DECL_OLD_NAME(DECL) decl_old_name(DECL)
|
|
|
|
|
/* For a siezefile name this means restricted usage of this file.
|
|
|
|
|
In this case, the USE_SEIZE_FILE directive will not be copied
|
|
|
|
|
into the grant file */
|
|
|
|
|
#define CH_USE_SEIZEFILE_RESTRICTED(NODE) TREE_LANG_FLAG_4(NODE)
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern tree decl_old_name PARAMS ((tree));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* for selective granting, mark as already granted */
|
|
|
|
|
#define CH_ALREADY_GRANTED(NODE) TREE_LANG_FLAG_4(NODE)
|
|
|
|
|
|
|
|
|
|
/* to store the receiving process of that signal
|
|
|
|
|
at definition time */
|
|
|
|
|
#define IDENTIFIER_SIGNAL_DEST(NODE) \
|
|
|
|
|
(((struct lang_identifier *)(NODE))->signal_dest)
|
|
|
|
|
|
|
|
|
|
/* indicates a signal with no data */
|
|
|
|
|
#define IDENTIFIER_SIGNAL_DATA(NODE) \
|
|
|
|
|
(((struct lang_identifier *)(NODE))->signal_data)
|
|
|
|
|
|
|
|
|
|
/* In identifiers, C uses the following fields in a special way:
|
|
|
|
|
TREE_PUBLIC to record that there was a previous local extern decl.
|
|
|
|
|
TREE_USED to record that such a decl was used.
|
|
|
|
|
TREE_ADDRESSABLE to record that the address of such a decl was used. */
|
|
|
|
|
|
|
|
|
|
/* Nonzero means reject anything that Z.200 Recommendation forbids. */
|
|
|
|
|
extern int pedantic;
|
|
|
|
|
|
|
|
|
|
/* the prototypical CHILL INSTANCE type */
|
|
|
|
|
extern tree instance_type_node;
|
|
|
|
|
|
|
|
|
|
/* Non-zero if type or expr depends on non-resolved identifier. */
|
|
|
|
|
#define UNSATISFIED(expr) \
|
|
|
|
|
(UNSATISFIED_FLAG (expr) || TREE_CODE (expr) == IDENTIFIER_NODE)
|
|
|
|
|
#define UNSATISFIED_FLAG(expr) TREE_LANG_FLAG_3 (expr)
|
|
|
|
|
|
|
|
|
|
/* Non-zero in a TREE_LIST if part of a labelled structure tuple. */
|
|
|
|
|
#define TUPLE_NAMED_FIELD(LIST) TREE_LANG_FLAG_1(LIST)
|
|
|
|
|
|
|
|
|
|
/* In an ARRAY_TYPE, RECORD_TYPE or UNION_TYPE, nonzero if any component
|
|
|
|
|
is read-only. */
|
|
|
|
|
#define TYPE_FIELDS_READONLY(type) TREE_LANG_FLAG_1 (type)
|
|
|
|
|
|
|
|
|
|
/* True if TYPE has the "read-only property." */
|
|
|
|
|
#define TYPE_READONLY_PROPERTY(TYPE) \
|
|
|
|
|
(TYPE_READONLY (TYPE) || TYPE_FIELDS_READONLY (TYPE))
|
|
|
|
|
|
|
|
|
|
/* In a RECORD_TYPE or UNION_TYPE, nonzero if any component is volatile. */
|
|
|
|
|
#define C_TYPE_FIELDS_VOLATILE(type) TREE_LANG_FLAG_2 (type)
|
|
|
|
|
|
|
|
|
|
/* In a CASE selector expression, nonzero if any alternative specifies (ELSE) for
|
|
|
|
|
that selector. */
|
|
|
|
|
#define ELSE_LABEL_SPECIFIED(expr) TREE_LANG_FLAG_2 (expr)
|
|
|
|
|
|
|
|
|
|
/* CH_CHARS_TYPE_P(TYPE) is true iff TYPE is a character string type.
|
|
|
|
|
|
|
|
|
|
There is no essential difference between a string and a (one-dimensional)
|
|
|
|
|
character array, at least for non-varying types. I don't know where
|
|
|
|
|
the Chill designers got the idea that it was useful to make a distinction.
|
|
|
|
|
(I suspect packing might be involved, but on a byte-adressable machine
|
|
|
|
|
we don't care.) Since we want the same code to be generated for
|
|
|
|
|
char arrays as for char strings, we use the same representation for
|
|
|
|
|
both. But we still need to distinguish them for the sake a Chill
|
|
|
|
|
type checking. We do that using TYPE_STRING_FLAG. */
|
|
|
|
|
|
|
|
|
|
#define MARK_AS_STRING_TYPE(TYPE) (TYPE_STRING_FLAG (TYPE) = 1)
|
|
|
|
|
|
|
|
|
|
#define CH_CHARS_TYPE_P(type) \
|
|
|
|
|
(TREE_CODE (type) == ARRAY_TYPE && TREE_CODE(TREE_TYPE(type)) == CHAR_TYPE \
|
|
|
|
|
&& TYPE_STRING_FLAG (type))
|
|
|
|
|
|
|
|
|
|
/* True if TYPE is CHARS(1). */
|
|
|
|
|
#define CH_CHARS_ONE_P(TYPE) (CH_CHARS_TYPE_P(TYPE) \
|
|
|
|
|
&& integer_zerop (TYPE_MAX_VALUE (TYPE_DOMAIN (TYPE))))
|
|
|
|
|
|
|
|
|
|
/* True if TYPE is a bitstring (BOOLS or BIT) type.
|
|
|
|
|
The TYPE_STRING_FLAG is used to distinguish a bitstring from a powerset. */
|
|
|
|
|
|
|
|
|
|
#define CH_BOOLS_TYPE_P(type) \
|
|
|
|
|
(TREE_CODE (type) == SET_TYPE && TYPE_STRING_FLAG (type))
|
|
|
|
|
|
|
|
|
|
/* True if TYPE is BOOLS(1). */
|
|
|
|
|
#define CH_BOOLS_ONE_P(TYPE) (CH_BOOLS_TYPE_P(TYPE) \
|
|
|
|
|
&& integer_zerop (TYPE_MAX_VALUE (TYPE_DOMAIN (TYPE))))
|
|
|
|
|
|
|
|
|
|
/* Value is nonzero if TYPE is a CHILL string type.
|
|
|
|
|
See CH_CHARS_TYPE_P and CH_BOOLS_TYPE_P above. */
|
|
|
|
|
|
|
|
|
|
#define CH_STRING_TYPE_P(type) \
|
|
|
|
|
((TREE_CODE (type) == ARRAY_TYPE || TREE_CODE (type) == SET_TYPE) \
|
|
|
|
|
&& TYPE_STRING_FLAG (type))
|
|
|
|
|
|
|
|
|
|
/* In a RECORD_TYPE, a sorted array of the fields of the type. */
|
|
|
|
|
struct lang_type_record
|
|
|
|
|
{
|
|
|
|
|
int len;
|
|
|
|
|
tree tasking_code_decl;
|
|
|
|
|
tree elts[1];
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct lang_type
|
|
|
|
|
{
|
|
|
|
|
union
|
|
|
|
|
{
|
|
|
|
|
struct lang_type_record rec;
|
|
|
|
|
} foo;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct lang_decl
|
|
|
|
|
{
|
|
|
|
|
union
|
|
|
|
|
{
|
|
|
|
|
tree stuff;
|
|
|
|
|
} foo;
|
|
|
|
|
};
|
|
|
|
|
/* A tasking type's corresponding tasking_code_variable has its
|
|
|
|
|
decl pointer in here. */
|
|
|
|
|
#define DECL_TASKING_CODE_DECL(DECL) (DECL_LANG_SPECIFIC(DECL))
|
|
|
|
|
|
|
|
|
|
/* A pointer to an as-yet undefined type. */
|
|
|
|
|
extern tree unknown_type_node;
|
|
|
|
|
|
|
|
|
|
/* The CHILL type INT (either integer_type_node or
|
|
|
|
|
short_integer_type_node). */
|
|
|
|
|
extern tree chill_integer_type_node;
|
|
|
|
|
extern tree chill_unsigned_type_node;
|
|
|
|
|
|
|
|
|
|
/* Nonzero for FIELD_DECL node means that this FIELD_DECL is
|
|
|
|
|
a member of a union construct. */
|
|
|
|
|
#define TREE_UNION_ELEM(NODE) ((NODE)->decl.regdecl_flag) /* overloaded! */
|
|
|
|
|
|
|
|
|
|
/* Mark which labels are explicitly declared.
|
|
|
|
|
These may be shadowed, and may be referenced from nested functions. */
|
|
|
|
|
#define C_DECLARED_LABEL_FLAG(label) TREE_LANG_FLAG_1 (label)
|
|
|
|
|
|
|
|
|
|
/* Record whether a type was written with nonconstant size.
|
|
|
|
|
Note that TYPE_SIZE may have simplified to a constant. */
|
|
|
|
|
#define C_TYPE_VARIABLE_SIZE(type) TYPE_LANG_FLAG_1 (type)
|
|
|
|
|
|
|
|
|
|
#define DECL_WEAK_NAME(DECL) DECL_LANG_FLAG_0(DECL)
|
|
|
|
|
|
|
|
|
|
/* These are for FUNCTION_DECLs. */
|
|
|
|
|
#define CH_DECL_GENERAL(DECL) DECL_LANG_FLAG_1(DECL)
|
|
|
|
|
#define CH_DECL_SIMPLE(DECL) DECL_LANG_FLAG_2(DECL)
|
|
|
|
|
#define CH_DECL_RECURSIVE(DECL) DECL_LANG_FLAG_3(DECL)
|
|
|
|
|
#define CH_FUNCTION_SETS_RESULT(DECL) DECL_LANG_FLAG_6(DECL)
|
|
|
|
|
|
|
|
|
|
/* For a CONST_DECL, indicates that it was implicitly declared
|
|
|
|
|
in a SET mode declaration, and it should not be explicitly granted. */
|
|
|
|
|
#define CH_DECL_ENUM(DECL) DECL_LANG_FLAG_3(DECL)
|
|
|
|
|
|
|
|
|
|
/* in a FIELD_DECL use DECL_LANG_FLAG_4 to mark FORBID in a grant-statement */
|
|
|
|
|
#define CH_DECL_FORBID(DECL) DECL_LANG_FLAG_4(DECL)
|
|
|
|
|
|
|
|
|
|
/* in an ALIAS_DECL use DECL_LANG_FLAG_4 to mark decl was granted */
|
|
|
|
|
#define CH_DECL_GRANTED(DECL) DECL_LANG_FLAG_4(DECL)
|
|
|
|
|
|
|
|
|
|
/* (in a non-FIELD_DECL) note that this decl was hidden by push_module(). */
|
|
|
|
|
#define DECL_HIDDEN_BY_MODULE(decl) DECL_LANG_FLAG_4 (decl)
|
|
|
|
|
|
|
|
|
|
/* Record in each node resulting from a binary operator
|
|
|
|
|
what operator was specified for it. */
|
|
|
|
|
#define C_EXP_ORIGINAL_CODE(exp) ((enum tree_code) TREE_COMPLEXITY (exp))
|
|
|
|
|
|
|
|
|
|
/* Store a value in that field. */
|
|
|
|
|
#define C_SET_EXP_ORIGINAL_CODE(exp, code) \
|
|
|
|
|
(TREE_COMPLEXITY (exp) = (int)(code))
|
|
|
|
|
|
|
|
|
|
/* Record whether a typedef for type `int' was actually `signed int'. */
|
|
|
|
|
#define C_TYPEDEF_EXPLICITLY_SIGNED(exp) DECL_LANG_FLAG_1 ((exp))
|
|
|
|
|
|
|
|
|
|
/* For FUNCTION_TYPE, a hidden list of types of arguments. The same as
|
|
|
|
|
TYPE_ARG_TYPES for functions with prototypes, but created for functions
|
|
|
|
|
without prototypes. */
|
|
|
|
|
#define TYPE_ACTUAL_ARG_TYPES(NODE) TYPE_NONCOPIED_PARTS (NODE)
|
|
|
|
|
|
|
|
|
|
/* For FUNCTION_TYPE or METHOD_TYPE, a list of the
|
|
|
|
|
(names of) exceptions that this type can raise. */
|
|
|
|
|
#define TYPE_RAISES_EXCEPTIONS(NODE) ((NODE)->type.minval)
|
|
|
|
|
|
|
|
|
|
/* For UNION_TYPE, the list of tag fields that distinguishes the members. */
|
|
|
|
|
#define TYPE_TAGFIELDS(NODE) ((NODE)->type.minval)
|
|
|
|
|
|
|
|
|
|
/* For RECORD_TYPE, the tag values that select it. */
|
|
|
|
|
#define TYPE_TAG_VALUES(NODE) TYPE_BINFO(NODE)
|
|
|
|
|
|
|
|
|
|
/* For VAR_DECL, TYPE_DECL, FUNCTION_DECL, indicates that
|
|
|
|
|
the DECL was read from a seizefile but not seized */
|
|
|
|
|
#define CH_DECL_NOTDECLARED(DECL) DECL_LANG_FLAG_5(DECL)
|
|
|
|
|
|
|
|
|
|
/* For FUNCTION_DECL's, mark as PROCESSEs. */
|
|
|
|
|
#define CH_DECL_PROCESS(DECL) DECL_LANG_FLAG_7(DECL)
|
|
|
|
|
|
|
|
|
|
/* For TYPE_DECL's, mark as SIGNALs. */
|
|
|
|
|
#define CH_DECL_SIGNAL(DECL) DECL_LANG_FLAG_7(DECL)
|
|
|
|
|
|
|
|
|
|
/* Macros using terminology of the CHILL Blue Book. */
|
|
|
|
|
|
|
|
|
|
/* A class is either Null, All, M-value, M-derived, or M-reference,
|
|
|
|
|
where M is some mode (type). */
|
|
|
|
|
|
|
|
|
|
enum ch_class_kind {
|
|
|
|
|
CH_ALL_CLASS, CH_NULL_CLASS,
|
|
|
|
|
CH_VALUE_CLASS, CH_DERIVED_CLASS, CH_REFERENCE_CLASS
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
typedef struct ch_class {
|
|
|
|
|
enum ch_class_kind kind;
|
|
|
|
|
tree mode; /* The 'M' in M-value, M-derived, or M-reference. */
|
|
|
|
|
} ch_class;
|
|
|
|
|
|
|
|
|
|
struct mode_chain; /* Forward reference */
|
|
|
|
|
|
|
|
|
|
#define CH_IS_REFERENCE_MODE(MODE) (TREE_CODE (MODE) == POINTER_TYPE)
|
|
|
|
|
#define CH_IS_BOUND_REFERENCE_MODE(MODE) \
|
|
|
|
|
(TREE_CODE (MODE) == POINTER_TYPE && TREE_TYPE(MODE) != void_type_node)
|
|
|
|
|
#define CH_IS_PROCEDURE_MODE(MODE) (TREE_CODE (MODE) == FUNCTION_TYPE)
|
|
|
|
|
#define CH_IS_INSTANCE_MODE(MODE) (CH_SIMILAR (MODE, instance_type_node))
|
|
|
|
|
#define CH_IS_BUFFER_MODE(MODE) (TYPE_LANG_FLAG_3(MODE))
|
|
|
|
|
#define CH_IS_EVENT_MODE(MODE) (TYPE_LANG_FLAG_4(MODE))
|
|
|
|
|
/* This is TRUE if the set is numbered, which makes pred/succ
|
|
|
|
|
unusable */
|
|
|
|
|
#define CH_ENUM_IS_NUMBERED(MODE) (TYPE_LANG_FLAG_5(MODE))
|
|
|
|
|
|
|
|
|
|
/* for ACCESS, and TEXT mode */
|
|
|
|
|
#define CH_IS_ACCESS_MODE(MODE) (TYPE_LANG_FLAG_2(MODE))
|
|
|
|
|
#define CH_IS_TEXT_MODE(MODE) (TYPE_LANG_FLAG_6(MODE))
|
|
|
|
|
#define CH_IS_ASSOCIATION_MODE(MODE) (CH_SIMILAR (MODE, association_type_node))
|
|
|
|
|
#define CH_IS_USAGE_MODE(MODE) (CH_SIMILAR (MODE, usage_type_node))
|
|
|
|
|
#define CH_IS_WHERE_MODE(MODE) (CH_SIMILAR (MODE, where_type_node))
|
|
|
|
|
|
|
|
|
|
/* for RECORD or ARRAY type */
|
|
|
|
|
#define CH_TYPE_NONVALUE_P(MODE) (TYPE_LANG_FLAG_0(MODE))
|
|
|
|
|
|
|
|
|
|
/* CH_NOVELTY is the novelty of a mode: NULL_TREE means the novelty is nil;
|
|
|
|
|
otherwise a TYPE_DECL matching the defining occurrence of a newmode. */
|
|
|
|
|
#define CH_NOVELTY(MODE) TYPE_CONTEXT(MODE)
|
|
|
|
|
|
|
|
|
|
/* Set the novelty of MODE to NOVELTY (which is assumed to be non-nil). */
|
|
|
|
|
#define SET_CH_NOVELTY(MODE, NOVELTY) (CH_NOVELTY (MODE) = (NOVELTY))
|
|
|
|
|
#define SET_CH_NOVELTY_NONNIL(MODE, NOVELTY) (CH_NOVELTY (MODE) = (NOVELTY))
|
|
|
|
|
|
|
|
|
|
/* CH_DERIVED_FLAG is true the class of EXPR is X-derived for some X. */
|
|
|
|
|
#define CH_DERIVED_FLAG(EXPR) TREE_LANG_FLAG_5(EXPR)
|
|
|
|
|
|
|
|
|
|
#define CH_HAS_REFERENCING_PROPERTY(MODE) \
|
|
|
|
|
(TREE_CODE (MODE) == POINTER_TYPE) /* incomplete FIXME! */
|
|
|
|
|
|
|
|
|
|
/* CH_COMPATIBLE(EXPR, MODE) is true if the class of EXPR is
|
|
|
|
|
"compatible" with the type MODE. */
|
|
|
|
|
#define CH_COMPATIBLE(EXPR, MODE) chill_compatible(EXPR, MODE)
|
|
|
|
|
#define CH_COMPATIBLE_CLASSES(EXPR1, EXPR2) chill_compatible_classes(EXPR1, EXPR2)
|
|
|
|
|
#define CH_STATIC_MODE(MODE) 1 /* for now */
|
|
|
|
|
#define CH_SIMILAR(MODE1, MODE2) chill_similar(MODE1, MODE2, 0)
|
|
|
|
|
#define CH_ROOT_MODE(MODE) chill_root_mode(MODE)
|
|
|
|
|
#define CH_RESULTING_CLASS(C1, C2) chill_resulting_class(C1, C2)
|
|
|
|
|
#define CH_ROOT_RESULTING_CLASS(E1, E2) \
|
|
|
|
|
CH_RESULTING_CLASS (chill_expr_class(E1), chill_expr_class(E2))
|
|
|
|
|
#define CH_RESULTING_MODE(MODE1, MODE2) chill_resulting_mode(MODE1, MODE2)
|
|
|
|
|
#define CH_V_EQUIVALENT(MODE1, MODE2) (CH_SIMILAR(MODE1, MODE2) \
|
|
|
|
|
&& CH_NOVELTY(MODE1) == CH_NOVELTY(MODE2))
|
|
|
|
|
#define CH_EQUIVALENT(MODE1, MODE2) \
|
|
|
|
|
(!integer_zerop (chill_equivalent (MODE1, MODE2, 0)))
|
|
|
|
|
#define CH_RESTRICTABLE_TO(MODE1, MODE2) \
|
|
|
|
|
CH_EQUIVALENT(MODE1, MODE2) /* && some more stuff FIXME! */
|
|
|
|
|
|
|
|
|
|
/* pass an OFFSET_TYPE or REFERENCE_TYPE's underlying type to SCALAR_P */
|
|
|
|
|
#define CH_READ_COMPATIBLE(modeM, modeN) chill_read_compatible(modeM, modeN)
|
|
|
|
|
|
|
|
|
|
#define SCALAR_P(TYPE) (TYPE != NULL_TREE \
|
|
|
|
|
&& (TREE_CODE (TYPE) == INTEGER_TYPE \
|
|
|
|
|
|| TREE_CODE (TYPE) == REAL_TYPE \
|
|
|
|
|
|| TREE_CODE (TYPE) == ENUMERAL_TYPE \
|
|
|
|
|
|| TREE_CODE (TYPE) == BOOLEAN_TYPE \
|
|
|
|
|
|| TREE_CODE (TYPE) == CHAR_TYPE \
|
|
|
|
|
|| TREE_CODE (TYPE) == POINTER_TYPE \
|
|
|
|
|
|| TREE_CODE (TYPE) == INSTANCE_TYPE))
|
|
|
|
|
#define CH_REFERABLE(EXPR) chill_referable(EXPR)
|
|
|
|
|
#define CH_LOCATION_P(EXPR) chill_location (EXPR)
|
|
|
|
|
|
|
|
|
|
/* Standard named or nameless data types of the C compiler. */
|
|
|
|
|
|
|
|
|
|
/* Nonzero means `$' can be in an identifier. */
|
|
|
|
|
|
|
|
|
|
extern int dollars_in_ident;
|
|
|
|
|
|
|
|
|
|
/* Nonzero means allow type mismatches in conditional expressions;
|
|
|
|
|
just make their values `void'. */
|
|
|
|
|
|
|
|
|
|
extern int flag_cond_mismatch;
|
|
|
|
|
|
|
|
|
|
/* Nonzero means don't recognize the keyword `asm'. */
|
|
|
|
|
|
|
|
|
|
extern int flag_no_asm;
|
|
|
|
|
|
|
|
|
|
/* Nonzero means warn about implicit declarations. */
|
|
|
|
|
|
|
|
|
|
extern int warn_implicit;
|
|
|
|
|
|
|
|
|
|
/* Nonzero means give string constants the type `const char *'
|
|
|
|
|
to get extra warnings from them. These warnings will be too numerous
|
|
|
|
|
to be useful, except in thoroughly ANSIfied programs. */
|
|
|
|
|
|
|
|
|
|
extern int warn_write_strings;
|
|
|
|
|
|
|
|
|
|
/* Nonzero means warn about sizeof (function) or addition/subtraction
|
|
|
|
|
of function pointers. */
|
|
|
|
|
|
|
|
|
|
extern int warn_pointer_arith;
|
|
|
|
|
|
|
|
|
|
/* Nonzero means warn for all old-style non-prototype function decls. */
|
|
|
|
|
|
|
|
|
|
extern int warn_strict_prototypes;
|
|
|
|
|
|
|
|
|
|
/* Nonzero means warn about multiple (redundant) decls for the same single
|
|
|
|
|
variable or function. */
|
|
|
|
|
|
|
|
|
|
extern int warn_redundant_decls;
|
|
|
|
|
|
|
|
|
|
/* Nonzero means warn about extern declarations of objects not at
|
|
|
|
|
file-scope level and about *all* declarations of functions (whether
|
|
|
|
|
extern or static) not at file-scope level. Note that we exclude
|
|
|
|
|
implicit function declarations. To get warnings about those, use
|
|
|
|
|
-Wimplicit. */
|
|
|
|
|
|
|
|
|
|
extern int warn_nested_externs;
|
|
|
|
|
|
|
|
|
|
/* Nonzero means warn about pointer casts that can drop a type qualifier
|
|
|
|
|
from the pointer target type. */
|
|
|
|
|
|
|
|
|
|
extern int warn_cast_qual;
|
|
|
|
|
|
|
|
|
|
/* Warn about *printf or *scanf format/argument anomalies. */
|
|
|
|
|
|
|
|
|
|
extern int warn_format;
|
|
|
|
|
|
|
|
|
|
/* Warn about a subscript that has type char. */
|
|
|
|
|
|
|
|
|
|
extern int warn_char_subscripts;
|
|
|
|
|
|
|
|
|
|
/* Warn if a type conversion is done that might have confusing results. */
|
|
|
|
|
|
|
|
|
|
extern int warn_conversion;
|
|
|
|
|
|
|
|
|
|
/* Warn if switch labels aren't complete, or are duplicated */
|
|
|
|
|
|
|
|
|
|
extern int warn_switch;
|
|
|
|
|
|
|
|
|
|
/* Nonzero means warn about suggesting putting in ()'s. */
|
|
|
|
|
|
|
|
|
|
extern int warn_parentheses;
|
|
|
|
|
|
|
|
|
|
/* Nonzero means we are reading code that came from a system header file. */
|
|
|
|
|
extern int system_header_p;
|
|
|
|
|
|
|
|
|
|
/* One means range checking is on; <= 0 off; -1 permanently off. */
|
|
|
|
|
extern int range_checking;
|
|
|
|
|
|
|
|
|
|
/* 0 means empty checking is off, else it is on */
|
|
|
|
|
extern int empty_checking;
|
|
|
|
|
|
|
|
|
|
/* 1 means -fruntime-checking specified (default), o means -fno-runtime-checking */
|
|
|
|
|
extern int runtime_checking_flag;
|
|
|
|
|
|
|
|
|
|
/* Type node for boolean types. */
|
|
|
|
|
|
|
|
|
|
extern tree boolean_type_node;
|
|
|
|
|
extern tree signed_boolean_type_node;
|
|
|
|
|
|
|
|
|
|
extern tree string_one_type_node;
|
|
|
|
|
extern tree bitstring_one_type_node, bit_zero_node, bit_one_node;
|
|
|
|
|
|
|
|
|
|
/* a VOID_TYPE node, packaged in a TREE_LIST. */
|
|
|
|
|
|
|
|
|
|
extern tree void_list_node;
|
|
|
|
|
|
|
|
|
|
/* Chill language-specific tree codes. */
|
|
|
|
|
#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) SYM,
|
|
|
|
|
enum chill_tree_code {
|
|
|
|
|
__DUMMY = LAST_AND_UNUSED_TREE_CODE,
|
|
|
|
|
#include "ch-tree.def"
|
|
|
|
|
LAST_CHILL_TREE_CODE
|
|
|
|
|
};
|
|
|
|
|
#undef DEFTREECODE
|
|
|
|
|
|
|
|
|
|
enum chill_built_in_function
|
|
|
|
|
{
|
|
|
|
|
DUMMY_FIRST_CHILL_BUILT_IN = END_BUILTINS,
|
|
|
|
|
|
|
|
|
|
BUILT_IN_CH_ABS,
|
|
|
|
|
BUILT_IN_ABSTIME,
|
|
|
|
|
BUILT_IN_ADDR,
|
|
|
|
|
BUILT_IN_ALLOCATE,
|
|
|
|
|
BUILT_IN_ALLOCATE_GLOBAL_MEMORY,
|
|
|
|
|
BUILT_IN_ALLOCATE_MEMORY,
|
|
|
|
|
BUILT_IN_ARCCOS,
|
|
|
|
|
BUILT_IN_ARCSIN,
|
|
|
|
|
BUILT_IN_ARCTAN,
|
|
|
|
|
BUILT_IN_ASSOCIATE,
|
|
|
|
|
BUILT_IN_CARD,
|
|
|
|
|
BUILT_IN_CONNECT,
|
|
|
|
|
BUILT_IN_COPY_NUMBER,
|
|
|
|
|
BUILT_IN_CH_COS,
|
|
|
|
|
BUILT_IN_CREATE,
|
|
|
|
|
BUILT_IN_DAYS,
|
|
|
|
|
BUILT_IN_CH_DELETE,
|
|
|
|
|
BUILT_IN_DESCR,
|
|
|
|
|
BUILT_IN_DISCONNECT,
|
|
|
|
|
BUILT_IN_DISSOCIATE,
|
|
|
|
|
BUILT_IN_EOLN,
|
|
|
|
|
BUILT_IN_EXP,
|
|
|
|
|
BUILT_IN_EXPIRED,
|
|
|
|
|
BUILT_IN_EXISTING,
|
|
|
|
|
BUILT_IN_GEN_CODE,
|
|
|
|
|
BUILT_IN_GEN_INST,
|
|
|
|
|
BUILT_IN_GEN_PTYPE,
|
|
|
|
|
BUILT_IN_GETASSOCIATION,
|
|
|
|
|
BUILT_IN_GETSTACK,
|
|
|
|
|
BUILT_IN_GETTEXTACCESS,
|
|
|
|
|
BUILT_IN_GETTEXTINDEX,
|
|
|
|
|
BUILT_IN_GETTEXTRECORD,
|
|
|
|
|
BUILT_IN_GETUSAGE,
|
|
|
|
|
BUILT_IN_HOURS,
|
|
|
|
|
BUILT_IN_INDEXABLE,
|
|
|
|
|
BUILT_IN_INTTIME,
|
|
|
|
|
BUILT_IN_ISASSOCIATED,
|
|
|
|
|
BUILT_IN_LENGTH,
|
|
|
|
|
BUILT_IN_LOG,
|
|
|
|
|
BUILT_IN_LOWER,
|
|
|
|
|
BUILT_IN_LN,
|
|
|
|
|
BUILT_IN_MAX,
|
|
|
|
|
BUILT_IN_MILLISECS,
|
|
|
|
|
BUILT_IN_MIN,
|
|
|
|
|
BUILT_IN_MINUTES,
|
|
|
|
|
BUILT_IN_MODIFY,
|
|
|
|
|
BUILT_IN_NUM,
|
|
|
|
|
BUILT_IN_OUTOFFILE,
|
|
|
|
|
BUILT_IN_PRED,
|
|
|
|
|
BUILT_IN_PROC_TYPE,
|
|
|
|
|
BUILT_IN_QUEUE_LENGTH,
|
|
|
|
|
BUILT_IN_READABLE,
|
|
|
|
|
BUILT_IN_READRECORD,
|
|
|
|
|
BUILT_IN_READTEXT,
|
|
|
|
|
BUILT_IN_RETURN_MEMORY,
|
|
|
|
|
BUILT_IN_SECS,
|
|
|
|
|
BUILT_IN_SETTEXTACCESS,
|
|
|
|
|
BUILT_IN_SETTEXTINDEX,
|
|
|
|
|
BUILT_IN_SETTEXTRECORD,
|
|
|
|
|
BUILT_IN_SEQUENCIBLE,
|
|
|
|
|
BUILT_IN_SIZE,
|
|
|
|
|
BUILT_IN_SQRT,
|
|
|
|
|
BUILT_IN_SUCC,
|
|
|
|
|
BUILT_IN_CH_SIN,
|
|
|
|
|
BUILT_IN_TAN,
|
|
|
|
|
BUILT_IN_TRUNC,
|
|
|
|
|
BUILT_IN_TERMINATE,
|
|
|
|
|
BUILT_IN_UPPER,
|
|
|
|
|
BUILT_IN_VARIABLE,
|
|
|
|
|
BUILT_IN_WAIT,
|
|
|
|
|
BUILT_IN_WRITEABLE,
|
|
|
|
|
BUILT_IN_WRITERECORD,
|
|
|
|
|
BUILT_IN_WRITETEXT,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/* name of additional (compiler generated) arguments for
|
|
|
|
|
functions which may propagate exceptions. */
|
|
|
|
|
#define CALLER_FILE "__CALLER_FILE__"
|
|
|
|
|
#define CALLER_LINE "__CALLER_LINE__"
|
|
|
|
|
|
|
|
|
|
/* field-name strings for the fields of the structure which
|
|
|
|
|
represents a CHILL VARYING array. The angle brackets assure
|
|
|
|
|
that no user-defined structure can match this one.
|
|
|
|
|
This field holds, at runtime, the current length of the
|
|
|
|
|
array, in UNITS, not including the length itself. It's an
|
|
|
|
|
integer_type_node */
|
|
|
|
|
#define VAR_LENGTH "__var_length"
|
|
|
|
|
|
|
|
|
|
/* This field is statically allocated to the user-defined
|
|
|
|
|
size, but contains valid array entries starting from the
|
|
|
|
|
first allocated space, proceeding for VAR_LENGTH bytes.
|
|
|
|
|
There are no holes in the data; the user isn't allowed
|
|
|
|
|
to store beyond the first available entry. */
|
|
|
|
|
|
|
|
|
|
#define VAR_DATA "__var_data"
|
|
|
|
|
|
|
|
|
|
/* This field is the name of the array, encapsulated in the CHILL
|
|
|
|
|
structure used to represent an array type parameter. */
|
|
|
|
|
/*#define ARRAY_DATA "__array_data"*/
|
|
|
|
|
|
|
|
|
|
/* The CHILL INSTANCE type is composed of two CHILL integer
|
|
|
|
|
fields, the process_type (set by the user with the
|
|
|
|
|
process_type compiler directive, and the proc_copy field,
|
|
|
|
|
which is set by the start_process call's first parameter. */
|
|
|
|
|
#define INS_PTYPE "__proc_type"
|
|
|
|
|
#define INS_COPY "__proc_copy"
|
|
|
|
|
|
|
|
|
|
/* This is the actual array type inside the VARYING struct */
|
|
|
|
|
#define CH_VARYING_ARRAY_TYPE(TYPE) TREE_TYPE (TREE_CHAIN (TYPE_FIELDS (TYPE)))
|
|
|
|
|
|
|
|
|
|
/* Identifiers which hold the VAR_LENGTH and VAR_DATA strings. */
|
|
|
|
|
extern tree var_length_id;
|
|
|
|
|
extern tree var_data_id;
|
|
|
|
|
|
|
|
|
|
/* A RANGE_EXPR representing an ELSE in a case label. */
|
|
|
|
|
extern tree case_else_node;
|
|
|
|
|
|
|
|
|
|
#if 0 /* changed to function */
|
|
|
|
|
/* return non-zero if type is a compiler-generated VARYING array record */
|
|
|
|
|
#define CH_VARYING_TYPE_P(type) (TREE_CODE (type) == RECORD_TYPE && \
|
|
|
|
|
DECL_NAME (TYPE_FIELDS (type)) == \
|
|
|
|
|
get_identifier (VAR_LENGTH) && \
|
|
|
|
|
DECL_NAME (TREE_CHAIN (TYPE_FIELDS (type))) == \
|
|
|
|
|
get_identifier (VAR_DATA) && \
|
|
|
|
|
TREE_CHAIN (CH_VARYING_ARRAY_TYPE (type)) == NULL_TREE)
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/* in c-aux-info.c */
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern void gen_aux_info_record PARAMS ((tree, int, int, int));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in c-common.c */
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern tree combine_strings PARAMS ((tree));
|
|
|
|
|
extern void constant_expression_warning PARAMS ((tree));
|
|
|
|
|
extern void decl_attributes PARAMS ((tree, tree));
|
|
|
|
|
extern void declare_function_name PARAMS ((void));
|
Warning fixes:
* Makefile.in (actions.o, convert.o, decl.o, expr.o, lang.o,
lex.o, loop.o, parse.o, satisfy.o, timing.o, tasking.o, tree.o,
typeck.o): Depend on system.h and toplev.h.
(except.o): Depend on toplev.h.
(grant.o): Depend on system.h, toplev.h and output.h.
* actions.c: Include system.h and toplev.h. Remove redundant
prototypes.
(build_cause_exception): Add default case in switch.
(update_else_range_for_range): Add parentheses around && within ||.
(chill_handle_multi_case_label_list): Remove unused variable
`selector_value'.
(print_missing_cases): Reconcile format specifiers vs arguments in
calls to sprintf.
* ch-tree.h: Don't include stdio.h. Wrap prototypes using FILE*
with macro BUFSIZ. Add missing prototypes.
* convert.c: Include system.h and toplev.h. Remove redundant
prototypes.
(convert): Remove unused variable `errstr'.
* decl.c: Include system.h and toplev.h. Remove redundant
prototypes.
(builtin_scope): Add missing initializers.
(clear_scope): Likewise.
(allocate_lang_decl): Mark parameter `t' with ATTRIBUTE_UNUSED.
(copy_lang_decl): Likewise for parameter `node'.
(c_decode_option): Likewise for parameter `argc'.
(push_extern_function): Likewise for parameter `granting'.
(switch_to_pass_2): Hide declaration of errorcount/sorrycount.
(pushdecl): Remove unused variable `t'.
(lookup_name_current_level): Make static and hide.
(lookup_name_for_seizing): Make static.
(finish_decl): Remove unused variable `type'.
(maybe_build_cleanup): Mark parameter `decl' with ATTRIBUTE_UNUSED.
(complete_array_type): Mark parameters `type', `initial_value' and
`do_default' with ATTRIBUTE_UNUSED.
(start_struct): Mark parameter `name' with ATTRIBUTE_UNUSED.
(start_enum): Likewise.
(shadow_record_fields): Remove unused variables `type' and `parent'.
* except.c: Include toplev.h. Remove redundant prototypes.
* expr.c: Include system.h and toplev.h. Don't define NULL.
Remove redundant prototypes.
(internal_build_compound_expr): Mark parameter `first_p' with
ATTRIBUTE_UNUSED.
(build_allocate_getstack): Remove unused variable `init'.
(build_chill_pred_or_succ): Likewise for variable `limit'.
(varying_to_slice): Likewise for variable `doamin' [sic].
(finish_chill_binary_op): Likewise for variables `code0' and
`code1'. Remove unused label `finish'. Add explicit braces to
avoid ambiguous `else'.
(build_chill_addr_expr): Remove extra parameter in call to `error'.
(build_chill_unary_op): Remove unused variables `class' and `type0'.
(powersetlen): Remove unused variables `domain' and `temp'.
* grant.c: Include system.h, toplev.h and output.h. Don't handle
strchr/strrchr. Remove redundant prototypes.
(decode_constant_selective): Remove unused variables `op' and `wrk'.
(push_granted): Mark parameters `name' and `decl' with
ATTRIBUTE_UNUSED.
* inout.c: Include system.h and toplev.h. Remove redundant
prototypes.
(textlocation_mode): Use &&, not &, when comparing two truth
values.
(scanformcont): Remove unused label `do_the_action'.
* lang.c: Include system.h and toplev.h. Remove redundant
prototypes.
(lookup_interface): Mark parameter `arg' with ATTRIBUTE_UNUSED.
(maybe_objc_comptypes): Likewise for parameters `lhs' and `rhs'.
(lang_print_xnode): Likewise for parameters `file', `node' and
`indent'.
(lang_decode_option): Explicitly declare `explicit_ignore_case'.
(incomplete_type_error): Mark parameters `value' and `type' with
ATTRIBUTE_UNUSED.
* lex.c: Include system.h and toplev.h. Remove redundant
prototypes. Don't handle strchr/strrchr. Use CAPITALIZED
versions of ctype macros from system.h. Cast ctype arguments to
unsigned char when necessary.
(last_token, RETURN_TOKEN): Hide definition.
(push_back): Remove unused function.
(readstring): Change variable `i' to unsigned.
(yywrap): Remove unused variable `node'.
* loop.c: Include system.h and toplev.h. Remove redundant
prototypes.
(chill_unsigned_type): Hide prototype and definition.
(begin_loop_scope): Remove unused variable `firstp'.
(nonvalue_begin_loop_scope): Likewise.
* parse.c: Include system.h and toplev.h. Remove redundant
prototypes.
(quasi_signal): Hide.
(PEEK_TOKEN): Change return type to `enum terminal'.
(parse_mode_definition_statement): Remove unused variable `names'.
(parse_formpar): Remove unused parameter `in_spec_module'. All
callers changed.
(parse_formparlist): Likewise.
(parse_processpar): Remove unused variable `parms'.
(parse_definition): Add explicit braces to avoid ambiguous `else'.
(parse_multi_dimension_case_action): Initialize variable
`begin_test_label'. Remove unused variable `new_test'.
(parse_case_action): Remove unused variable `caseaction_flag'.
(parse_asm_clobbers): Remove unused variable `expr'.
(parse_delay_case_action): Initialize variable `label_cnt'.
(parse_action): Make function static.
(parse_tuple_element): Remove unused variable `list'.
(parse_primval): Add default case in switch.
(parse_variant_alternative): Remove unused variables `x' and
`variant_fields'.
* satisfy.c: Include system.h and toplev.h. Remove redundant
prototypes.
* tasking.c Include system.h and toplev.h. Remove redundant
prototypes.
(data_name): Hide.
(get_struct_variable_name): Likewise.
(validate_process_parameters): Mark parameter `parms' with
ATTRIBUTE_UNUSED.
(build_start_process): Initialize variable `tuple'.
(build_receive_buffer_case_end): Remove unused variable `buffer_ptr'.
* timing.c: Include system.h and toplev.h.
(build_after_timeout_start): Remove unused variable `goto_where'.
* tree.c: Include system.h and toplev.h. Remove redundant
prototypes.
* typeck.c: Include system.h and toplev.h. Remove redundant
prototypes.
(extract_constant_from_buffer): Make function static. Add
explicit braces to avoid ambiguous `else'.
(expand_constant_to_buffer): Likewise.
(build_chill_slice): remove unused variable `is_static'.
(chill_compatible): Add explicit braces to avoid ambiguous `else'.
(apply_chill_array_layout): Remove unused variable `offset'.
(smash_dummy_type): Remove unused variable `save_lang_specific'.
(initializer_constant_valid_p): Add default case in switch.
From-SVN: r22493
1998-09-20 08:43:23 +02:00
|
|
|
|
#ifdef BUFSIZ
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern char *get_directive_line PARAMS ((FILE *));
|
Warning fixes:
* Makefile.in (actions.o, convert.o, decl.o, expr.o, lang.o,
lex.o, loop.o, parse.o, satisfy.o, timing.o, tasking.o, tree.o,
typeck.o): Depend on system.h and toplev.h.
(except.o): Depend on toplev.h.
(grant.o): Depend on system.h, toplev.h and output.h.
* actions.c: Include system.h and toplev.h. Remove redundant
prototypes.
(build_cause_exception): Add default case in switch.
(update_else_range_for_range): Add parentheses around && within ||.
(chill_handle_multi_case_label_list): Remove unused variable
`selector_value'.
(print_missing_cases): Reconcile format specifiers vs arguments in
calls to sprintf.
* ch-tree.h: Don't include stdio.h. Wrap prototypes using FILE*
with macro BUFSIZ. Add missing prototypes.
* convert.c: Include system.h and toplev.h. Remove redundant
prototypes.
(convert): Remove unused variable `errstr'.
* decl.c: Include system.h and toplev.h. Remove redundant
prototypes.
(builtin_scope): Add missing initializers.
(clear_scope): Likewise.
(allocate_lang_decl): Mark parameter `t' with ATTRIBUTE_UNUSED.
(copy_lang_decl): Likewise for parameter `node'.
(c_decode_option): Likewise for parameter `argc'.
(push_extern_function): Likewise for parameter `granting'.
(switch_to_pass_2): Hide declaration of errorcount/sorrycount.
(pushdecl): Remove unused variable `t'.
(lookup_name_current_level): Make static and hide.
(lookup_name_for_seizing): Make static.
(finish_decl): Remove unused variable `type'.
(maybe_build_cleanup): Mark parameter `decl' with ATTRIBUTE_UNUSED.
(complete_array_type): Mark parameters `type', `initial_value' and
`do_default' with ATTRIBUTE_UNUSED.
(start_struct): Mark parameter `name' with ATTRIBUTE_UNUSED.
(start_enum): Likewise.
(shadow_record_fields): Remove unused variables `type' and `parent'.
* except.c: Include toplev.h. Remove redundant prototypes.
* expr.c: Include system.h and toplev.h. Don't define NULL.
Remove redundant prototypes.
(internal_build_compound_expr): Mark parameter `first_p' with
ATTRIBUTE_UNUSED.
(build_allocate_getstack): Remove unused variable `init'.
(build_chill_pred_or_succ): Likewise for variable `limit'.
(varying_to_slice): Likewise for variable `doamin' [sic].
(finish_chill_binary_op): Likewise for variables `code0' and
`code1'. Remove unused label `finish'. Add explicit braces to
avoid ambiguous `else'.
(build_chill_addr_expr): Remove extra parameter in call to `error'.
(build_chill_unary_op): Remove unused variables `class' and `type0'.
(powersetlen): Remove unused variables `domain' and `temp'.
* grant.c: Include system.h, toplev.h and output.h. Don't handle
strchr/strrchr. Remove redundant prototypes.
(decode_constant_selective): Remove unused variables `op' and `wrk'.
(push_granted): Mark parameters `name' and `decl' with
ATTRIBUTE_UNUSED.
* inout.c: Include system.h and toplev.h. Remove redundant
prototypes.
(textlocation_mode): Use &&, not &, when comparing two truth
values.
(scanformcont): Remove unused label `do_the_action'.
* lang.c: Include system.h and toplev.h. Remove redundant
prototypes.
(lookup_interface): Mark parameter `arg' with ATTRIBUTE_UNUSED.
(maybe_objc_comptypes): Likewise for parameters `lhs' and `rhs'.
(lang_print_xnode): Likewise for parameters `file', `node' and
`indent'.
(lang_decode_option): Explicitly declare `explicit_ignore_case'.
(incomplete_type_error): Mark parameters `value' and `type' with
ATTRIBUTE_UNUSED.
* lex.c: Include system.h and toplev.h. Remove redundant
prototypes. Don't handle strchr/strrchr. Use CAPITALIZED
versions of ctype macros from system.h. Cast ctype arguments to
unsigned char when necessary.
(last_token, RETURN_TOKEN): Hide definition.
(push_back): Remove unused function.
(readstring): Change variable `i' to unsigned.
(yywrap): Remove unused variable `node'.
* loop.c: Include system.h and toplev.h. Remove redundant
prototypes.
(chill_unsigned_type): Hide prototype and definition.
(begin_loop_scope): Remove unused variable `firstp'.
(nonvalue_begin_loop_scope): Likewise.
* parse.c: Include system.h and toplev.h. Remove redundant
prototypes.
(quasi_signal): Hide.
(PEEK_TOKEN): Change return type to `enum terminal'.
(parse_mode_definition_statement): Remove unused variable `names'.
(parse_formpar): Remove unused parameter `in_spec_module'. All
callers changed.
(parse_formparlist): Likewise.
(parse_processpar): Remove unused variable `parms'.
(parse_definition): Add explicit braces to avoid ambiguous `else'.
(parse_multi_dimension_case_action): Initialize variable
`begin_test_label'. Remove unused variable `new_test'.
(parse_case_action): Remove unused variable `caseaction_flag'.
(parse_asm_clobbers): Remove unused variable `expr'.
(parse_delay_case_action): Initialize variable `label_cnt'.
(parse_action): Make function static.
(parse_tuple_element): Remove unused variable `list'.
(parse_primval): Add default case in switch.
(parse_variant_alternative): Remove unused variables `x' and
`variant_fields'.
* satisfy.c: Include system.h and toplev.h. Remove redundant
prototypes.
* tasking.c Include system.h and toplev.h. Remove redundant
prototypes.
(data_name): Hide.
(get_struct_variable_name): Likewise.
(validate_process_parameters): Mark parameter `parms' with
ATTRIBUTE_UNUSED.
(build_start_process): Initialize variable `tuple'.
(build_receive_buffer_case_end): Remove unused variable `buffer_ptr'.
* timing.c: Include system.h and toplev.h.
(build_after_timeout_start): Remove unused variable `goto_where'.
* tree.c: Include system.h and toplev.h. Remove redundant
prototypes.
* typeck.c: Include system.h and toplev.h. Remove redundant
prototypes.
(extract_constant_from_buffer): Make function static. Add
explicit braces to avoid ambiguous `else'.
(expand_constant_to_buffer): Likewise.
(build_chill_slice): remove unused variable `is_static'.
(chill_compatible): Add explicit braces to avoid ambiguous `else'.
(apply_chill_array_layout): Remove unused variable `offset'.
(smash_dummy_type): Remove unused variable `save_lang_specific'.
(initializer_constant_valid_p): Add default case in switch.
From-SVN: r22493
1998-09-20 08:43:23 +02:00
|
|
|
|
#endif
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern tree shorten_compare PARAMS ((tree *, tree *, tree *, enum tree_code *));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in c-decl.c */
|
|
|
|
|
extern tree wchar_type_node, signed_wchar_type_node, unsigned_wchar_type_node;
|
|
|
|
|
extern tree default_function_type;
|
|
|
|
|
extern tree double_ftype_double, double_ftype_double_double;
|
|
|
|
|
extern tree int_ftype_int, long_ftype_long;
|
|
|
|
|
extern tree void_ftype_ptr_ptr_int, int_ftype_ptr_ptr_int;
|
|
|
|
|
extern tree void_ftype_ptr_int_int, string_ftype_ptr_ptr;
|
|
|
|
|
extern tree int_ftype_string_string, int_ftype_cptr_cptr_sizet;
|
|
|
|
|
/* Nodes for boolean constants TRUE and FALSE */
|
|
|
|
|
extern tree boolean_true_node, boolean_false_node;
|
|
|
|
|
|
|
|
|
|
extern tree global_function_decl;
|
|
|
|
|
|
|
|
|
|
/* in except.c */
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern void except_init_pass_2 PARAMS ((void));
|
|
|
|
|
extern void push_handler PARAMS ((void));
|
|
|
|
|
extern void pop_handler PARAMS ((int));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in ch-loop.c */
|
|
|
|
|
extern int flag_local_loop_counter;
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern void push_loop_block PARAMS ((void));
|
|
|
|
|
extern void pop_loop_block PARAMS ((void));
|
|
|
|
|
extern void build_loop_start PARAMS ((tree));
|
|
|
|
|
extern void top_loop_end_check PARAMS ((tree));
|
|
|
|
|
extern void build_loop_end PARAMS ((void));
|
|
|
|
|
extern void build_loop_iterator PARAMS ((tree, tree, tree, tree, int, int, int));
|
|
|
|
|
extern void begin_loop_scope PARAMS ((void));
|
|
|
|
|
extern void end_loop_scope PARAMS ((tree));
|
|
|
|
|
extern void nonvalue_begin_loop_scope PARAMS ((void));
|
|
|
|
|
extern void nonvalue_end_loop_scope PARAMS ((void));
|
|
|
|
|
|
|
|
|
|
extern tree build_enumerator PARAMS ((tree, tree));
|
|
|
|
|
extern tree c_build_type_variant PARAMS ((tree, int, int));
|
|
|
|
|
extern int c_decode_option PARAMS ((int, char **));
|
|
|
|
|
extern void c_mark_varargs PARAMS ((void));
|
|
|
|
|
extern void clear_parm_order PARAMS ((void));
|
|
|
|
|
extern int complete_array_type PARAMS ((tree, tree, int));
|
|
|
|
|
extern void declare_parm_level PARAMS ((int));
|
top level:
* Makefile.in (WARN_CFLAGS): Add -Wwrite-strings.
(tree.o): Depend on output.h.
* c-decl.c (pending_invalid_xref_file,
current_function_prototype_file): Constify.
(pushdecl): Constify a local char *.
(define_label): Constify filename parameter.
* c-lex.c (init_parse): Constify parameter and return value.
* c-typeck.c (c_expand_asm_operands): Constify filename parameter.
* c-tree.h: Update prototypes.
* c-parse.in: Constify filename member of %union, and if_stmt_file.
* c-parse.y, c-parse.c, c-parse.h, objc/objc-parse.y,
objc/objc-parse.c: Regenerate.
* dwarfout.c (dwarfout_init): Constify main_input_filename parameter.
* dwarfout.h: Update prototypes.
* expr.c (expand_expr): Constify a local char *.
* flags.h: Constify main_input_filename.
* function.c (expand_function_end): Constify filename parameter.
* genrecog.c (make_insn_sequence): Use a character array for
c_test_pos.
(main): Remove unused variables.
* input.h: Constify input_filename, main_input_filename, and
file_stack.name. Update prototypes.
* output.h: Declare first_global_object_name and
weak_global_object_name here, as const char *.
* stmt.c (expand_asm_operands): Constify filename parameter.
* toplev.c (compile_file, push_srcloc, debug_start_source_file):
Constify filename parameter.
(input_filename, main_input_filename): Constify.
* toplev.h: Update prototypes.
* tree.c: Include output.h. Don't declare
first_global_object_name or weak_global_object_name. Clean up string
bashing in get_file_function_name_long.
* tree.h (struct tree_decl): Constify filename member.
(input_filename): Constify.
Update prototypes.
* varasm.c (first_global_object_name, weak_global_object_name):
Constify.
(assemble_start_function, assemble_variable): Clean up string bashing.
* gcc.c: Constify all spec-related strings initialized,
transitively, from string constants. Constify all strings
and string variables related to multilibs.
(set_spec, read_specs): Cast argument to free to PTR.
(used_arg): Do not modify multilib_matches. Use strncmp plus
length comparison to compare multilib switches.
* genmultilib: Constify everything declared in multilib.h.
ch:
* ch-tree.h: Update prototypes. Remove prototypes for
functions declared elsewhere.
* decl.c (define_label): Constify filename parameter.
* grant.c (globalize_decl, set_default_grant_file): Constify
local char * variables. Don't declare
first_global_object_name or asm_out_file.
* lang.c (chill_real_input_filename): Constify.
* lex.c (init_parse): Constify parameter and return value.
* parse.c: Don't declare input_filename.
(ch_expand_asm_operands): Constify filename parameter.
(parse_multi_dimension_case_action): Constify local char *.
* satisfy.c (safe_satisfy_decl): Constify local char *.
cp:
* cp-tree.h: Constify tree_srcloc.filename, tinst_level.file,
and pending_inline.filename. Update prototypes.
* decl.c (define_label): Constify filename parameter.
* decl2.c (warn_if_unknown_interface): Constify local char *.
* input.c Constify input_source.filename. Don't declare
input_filename or lineno. Constify filename parameter to feed_input.
* lex.c (init_parse): Constify parameter and return value.
(cp_pragma_interface, cp_pragma_implementation): Constify
filename argument.
(reinit_parse_for_method, reinit_parse_for_block,
reinit_parse_for_expr, feed_defarg, handle_cp_pragma):
Constify local char *.
* pt.c: Don't declare lineno or input_filename.
(print_template_context, tsubst_friend_function, tsubst_decl,
tsubst, instantiate_decl): Constify local char *.
* semantics.c (expand_body): Constify local char *.
* tree.c (build_srcloc): Constify filename parameter.
* typeck.c (c_expand_asm_operands): Constify filename
parameter.
f:
* com.c (ffecom_subscript_check_): Constify array_name
parameter. Clean up string bashing.
(ffecom_arrayref_, ffecom_char_args_x_): Constify array_name
parameter.
(ffecom_do_entry_, ffecom_gen_sfuncdef_, ffecom_start_progunit_,
ffecom_sym_transform_, ffecom_sym_transform_assign_): Constify
local char *.
(init_parse): Constify parameter and return value.
* lex.c: Include dwarfout.h instead of prototyping dwarfout_*
functions here.
(ffelex_file_pop_, ffelex_file_push_): Constify filename parameter.
(ffelex_hash_, ffelex_include_): Constify local char *.
* std.c (ffestd_exec_end): Constify local char *.
* where.c (ffewhere_file_new): Constify filename parameter.
* where.h: Update prototypes.
java:
* check_init.c (check_init): Constify local char *.
* class.c (push_class): Constify local char *.
* java_tree.h: Update prototypes.
* jcf-io.c (open_class): Constify filename parameter and
return value.
(find_class): Remove redundant string copy. Cast return from
open_class.
* jcf-parse.c (read_class, parse_class_file, yyparse):
Constify local char *.
* jcf-write.c (generate_bytecode_insns, generate_classfile):
Constify local char *.
* jcf.h (JCF): Constify filename and classname.
(JCF_FINISH): Cast args to FREE to char * when appropriate.
* lang.c (init_parse): Constify parameter and return value.
* lex.c (java_get_line_col): Constify filename parameter.
* parse.h: Constify parser_ctxt.filename. Update prototypes.
* parse.y (java_parser_context_suspend,
issue_warning_error_from_context, safe_layout_class): Constify
local char *.
* parse.c: Regenerate.
From-SVN: r33804
2000-05-09 21:56:01 +02:00
|
|
|
|
extern tree define_label PARAMS ((const char *, int, tree));
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern void delete_block PARAMS ((tree));
|
|
|
|
|
extern void finish_decl PARAMS ((tree));
|
|
|
|
|
extern tree finish_enum PARAMS ((tree, tree));
|
|
|
|
|
extern void finish_function PARAMS ((int));
|
|
|
|
|
extern tree finish_struct PARAMS ((tree, tree));
|
|
|
|
|
extern tree get_parm_decls PARAMS ((void));
|
|
|
|
|
extern tree get_parm_info PARAMS ((int));
|
|
|
|
|
extern tree getdecls PARAMS ((void));
|
|
|
|
|
extern tree gettags PARAMS ((void));
|
|
|
|
|
extern int global_bindings_p PARAMS ((void));
|
|
|
|
|
extern tree grokfield PARAMS ((char *, int, tree, tree, tree));
|
|
|
|
|
extern tree groktypename PARAMS ((tree));
|
|
|
|
|
extern tree groktypename_in_parm_context PARAMS ((tree));
|
|
|
|
|
extern tree implicitly_declare PARAMS ((tree));
|
|
|
|
|
extern void init_decl_processing PARAMS ((void));
|
|
|
|
|
extern void insert_block PARAMS ((tree));
|
|
|
|
|
extern void keep_next_level PARAMS ((void));
|
|
|
|
|
extern int kept_level_p PARAMS ((void));
|
|
|
|
|
extern tree lookup_label PARAMS ((tree));
|
|
|
|
|
extern tree lookup_name PARAMS ((tree));
|
|
|
|
|
extern tree maybe_build_cleanup PARAMS ((tree));
|
|
|
|
|
extern void parmlist_tags_warning PARAMS ((void));
|
|
|
|
|
extern void pending_xref_error PARAMS ((void));
|
|
|
|
|
extern void pop_chill_function_context PARAMS ((void));
|
|
|
|
|
extern tree poplevel PARAMS ((int, int, int));
|
Warning fixes:
* Makefile.in (actions.o, convert.o, decl.o, expr.o, lang.o,
lex.o, loop.o, parse.o, satisfy.o, timing.o, tasking.o, tree.o,
typeck.o): Depend on system.h and toplev.h.
(except.o): Depend on toplev.h.
(grant.o): Depend on system.h, toplev.h and output.h.
* actions.c: Include system.h and toplev.h. Remove redundant
prototypes.
(build_cause_exception): Add default case in switch.
(update_else_range_for_range): Add parentheses around && within ||.
(chill_handle_multi_case_label_list): Remove unused variable
`selector_value'.
(print_missing_cases): Reconcile format specifiers vs arguments in
calls to sprintf.
* ch-tree.h: Don't include stdio.h. Wrap prototypes using FILE*
with macro BUFSIZ. Add missing prototypes.
* convert.c: Include system.h and toplev.h. Remove redundant
prototypes.
(convert): Remove unused variable `errstr'.
* decl.c: Include system.h and toplev.h. Remove redundant
prototypes.
(builtin_scope): Add missing initializers.
(clear_scope): Likewise.
(allocate_lang_decl): Mark parameter `t' with ATTRIBUTE_UNUSED.
(copy_lang_decl): Likewise for parameter `node'.
(c_decode_option): Likewise for parameter `argc'.
(push_extern_function): Likewise for parameter `granting'.
(switch_to_pass_2): Hide declaration of errorcount/sorrycount.
(pushdecl): Remove unused variable `t'.
(lookup_name_current_level): Make static and hide.
(lookup_name_for_seizing): Make static.
(finish_decl): Remove unused variable `type'.
(maybe_build_cleanup): Mark parameter `decl' with ATTRIBUTE_UNUSED.
(complete_array_type): Mark parameters `type', `initial_value' and
`do_default' with ATTRIBUTE_UNUSED.
(start_struct): Mark parameter `name' with ATTRIBUTE_UNUSED.
(start_enum): Likewise.
(shadow_record_fields): Remove unused variables `type' and `parent'.
* except.c: Include toplev.h. Remove redundant prototypes.
* expr.c: Include system.h and toplev.h. Don't define NULL.
Remove redundant prototypes.
(internal_build_compound_expr): Mark parameter `first_p' with
ATTRIBUTE_UNUSED.
(build_allocate_getstack): Remove unused variable `init'.
(build_chill_pred_or_succ): Likewise for variable `limit'.
(varying_to_slice): Likewise for variable `doamin' [sic].
(finish_chill_binary_op): Likewise for variables `code0' and
`code1'. Remove unused label `finish'. Add explicit braces to
avoid ambiguous `else'.
(build_chill_addr_expr): Remove extra parameter in call to `error'.
(build_chill_unary_op): Remove unused variables `class' and `type0'.
(powersetlen): Remove unused variables `domain' and `temp'.
* grant.c: Include system.h, toplev.h and output.h. Don't handle
strchr/strrchr. Remove redundant prototypes.
(decode_constant_selective): Remove unused variables `op' and `wrk'.
(push_granted): Mark parameters `name' and `decl' with
ATTRIBUTE_UNUSED.
* inout.c: Include system.h and toplev.h. Remove redundant
prototypes.
(textlocation_mode): Use &&, not &, when comparing two truth
values.
(scanformcont): Remove unused label `do_the_action'.
* lang.c: Include system.h and toplev.h. Remove redundant
prototypes.
(lookup_interface): Mark parameter `arg' with ATTRIBUTE_UNUSED.
(maybe_objc_comptypes): Likewise for parameters `lhs' and `rhs'.
(lang_print_xnode): Likewise for parameters `file', `node' and
`indent'.
(lang_decode_option): Explicitly declare `explicit_ignore_case'.
(incomplete_type_error): Mark parameters `value' and `type' with
ATTRIBUTE_UNUSED.
* lex.c: Include system.h and toplev.h. Remove redundant
prototypes. Don't handle strchr/strrchr. Use CAPITALIZED
versions of ctype macros from system.h. Cast ctype arguments to
unsigned char when necessary.
(last_token, RETURN_TOKEN): Hide definition.
(push_back): Remove unused function.
(readstring): Change variable `i' to unsigned.
(yywrap): Remove unused variable `node'.
* loop.c: Include system.h and toplev.h. Remove redundant
prototypes.
(chill_unsigned_type): Hide prototype and definition.
(begin_loop_scope): Remove unused variable `firstp'.
(nonvalue_begin_loop_scope): Likewise.
* parse.c: Include system.h and toplev.h. Remove redundant
prototypes.
(quasi_signal): Hide.
(PEEK_TOKEN): Change return type to `enum terminal'.
(parse_mode_definition_statement): Remove unused variable `names'.
(parse_formpar): Remove unused parameter `in_spec_module'. All
callers changed.
(parse_formparlist): Likewise.
(parse_processpar): Remove unused variable `parms'.
(parse_definition): Add explicit braces to avoid ambiguous `else'.
(parse_multi_dimension_case_action): Initialize variable
`begin_test_label'. Remove unused variable `new_test'.
(parse_case_action): Remove unused variable `caseaction_flag'.
(parse_asm_clobbers): Remove unused variable `expr'.
(parse_delay_case_action): Initialize variable `label_cnt'.
(parse_action): Make function static.
(parse_tuple_element): Remove unused variable `list'.
(parse_primval): Add default case in switch.
(parse_variant_alternative): Remove unused variables `x' and
`variant_fields'.
* satisfy.c: Include system.h and toplev.h. Remove redundant
prototypes.
* tasking.c Include system.h and toplev.h. Remove redundant
prototypes.
(data_name): Hide.
(get_struct_variable_name): Likewise.
(validate_process_parameters): Mark parameter `parms' with
ATTRIBUTE_UNUSED.
(build_start_process): Initialize variable `tuple'.
(build_receive_buffer_case_end): Remove unused variable `buffer_ptr'.
* timing.c: Include system.h and toplev.h.
(build_after_timeout_start): Remove unused variable `goto_where'.
* tree.c: Include system.h and toplev.h. Remove redundant
prototypes.
* typeck.c: Include system.h and toplev.h. Remove redundant
prototypes.
(extract_constant_from_buffer): Make function static. Add
explicit braces to avoid ambiguous `else'.
(expand_constant_to_buffer): Likewise.
(build_chill_slice): remove unused variable `is_static'.
(chill_compatible): Add explicit braces to avoid ambiguous `else'.
(apply_chill_array_layout): Remove unused variable `offset'.
(smash_dummy_type): Remove unused variable `save_lang_specific'.
(initializer_constant_valid_p): Add default case in switch.
From-SVN: r22493
1998-09-20 08:43:23 +02:00
|
|
|
|
#ifdef BUFSIZ
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern void print_lang_decl PARAMS ((FILE *,tree, int));
|
|
|
|
|
extern void print_lang_identifier PARAMS ((FILE *,tree, int));
|
|
|
|
|
extern void print_lang_type PARAMS ((FILE *,tree, int));
|
Warning fixes:
* Makefile.in (actions.o, convert.o, decl.o, expr.o, lang.o,
lex.o, loop.o, parse.o, satisfy.o, timing.o, tasking.o, tree.o,
typeck.o): Depend on system.h and toplev.h.
(except.o): Depend on toplev.h.
(grant.o): Depend on system.h, toplev.h and output.h.
* actions.c: Include system.h and toplev.h. Remove redundant
prototypes.
(build_cause_exception): Add default case in switch.
(update_else_range_for_range): Add parentheses around && within ||.
(chill_handle_multi_case_label_list): Remove unused variable
`selector_value'.
(print_missing_cases): Reconcile format specifiers vs arguments in
calls to sprintf.
* ch-tree.h: Don't include stdio.h. Wrap prototypes using FILE*
with macro BUFSIZ. Add missing prototypes.
* convert.c: Include system.h and toplev.h. Remove redundant
prototypes.
(convert): Remove unused variable `errstr'.
* decl.c: Include system.h and toplev.h. Remove redundant
prototypes.
(builtin_scope): Add missing initializers.
(clear_scope): Likewise.
(allocate_lang_decl): Mark parameter `t' with ATTRIBUTE_UNUSED.
(copy_lang_decl): Likewise for parameter `node'.
(c_decode_option): Likewise for parameter `argc'.
(push_extern_function): Likewise for parameter `granting'.
(switch_to_pass_2): Hide declaration of errorcount/sorrycount.
(pushdecl): Remove unused variable `t'.
(lookup_name_current_level): Make static and hide.
(lookup_name_for_seizing): Make static.
(finish_decl): Remove unused variable `type'.
(maybe_build_cleanup): Mark parameter `decl' with ATTRIBUTE_UNUSED.
(complete_array_type): Mark parameters `type', `initial_value' and
`do_default' with ATTRIBUTE_UNUSED.
(start_struct): Mark parameter `name' with ATTRIBUTE_UNUSED.
(start_enum): Likewise.
(shadow_record_fields): Remove unused variables `type' and `parent'.
* except.c: Include toplev.h. Remove redundant prototypes.
* expr.c: Include system.h and toplev.h. Don't define NULL.
Remove redundant prototypes.
(internal_build_compound_expr): Mark parameter `first_p' with
ATTRIBUTE_UNUSED.
(build_allocate_getstack): Remove unused variable `init'.
(build_chill_pred_or_succ): Likewise for variable `limit'.
(varying_to_slice): Likewise for variable `doamin' [sic].
(finish_chill_binary_op): Likewise for variables `code0' and
`code1'. Remove unused label `finish'. Add explicit braces to
avoid ambiguous `else'.
(build_chill_addr_expr): Remove extra parameter in call to `error'.
(build_chill_unary_op): Remove unused variables `class' and `type0'.
(powersetlen): Remove unused variables `domain' and `temp'.
* grant.c: Include system.h, toplev.h and output.h. Don't handle
strchr/strrchr. Remove redundant prototypes.
(decode_constant_selective): Remove unused variables `op' and `wrk'.
(push_granted): Mark parameters `name' and `decl' with
ATTRIBUTE_UNUSED.
* inout.c: Include system.h and toplev.h. Remove redundant
prototypes.
(textlocation_mode): Use &&, not &, when comparing two truth
values.
(scanformcont): Remove unused label `do_the_action'.
* lang.c: Include system.h and toplev.h. Remove redundant
prototypes.
(lookup_interface): Mark parameter `arg' with ATTRIBUTE_UNUSED.
(maybe_objc_comptypes): Likewise for parameters `lhs' and `rhs'.
(lang_print_xnode): Likewise for parameters `file', `node' and
`indent'.
(lang_decode_option): Explicitly declare `explicit_ignore_case'.
(incomplete_type_error): Mark parameters `value' and `type' with
ATTRIBUTE_UNUSED.
* lex.c: Include system.h and toplev.h. Remove redundant
prototypes. Don't handle strchr/strrchr. Use CAPITALIZED
versions of ctype macros from system.h. Cast ctype arguments to
unsigned char when necessary.
(last_token, RETURN_TOKEN): Hide definition.
(push_back): Remove unused function.
(readstring): Change variable `i' to unsigned.
(yywrap): Remove unused variable `node'.
* loop.c: Include system.h and toplev.h. Remove redundant
prototypes.
(chill_unsigned_type): Hide prototype and definition.
(begin_loop_scope): Remove unused variable `firstp'.
(nonvalue_begin_loop_scope): Likewise.
* parse.c: Include system.h and toplev.h. Remove redundant
prototypes.
(quasi_signal): Hide.
(PEEK_TOKEN): Change return type to `enum terminal'.
(parse_mode_definition_statement): Remove unused variable `names'.
(parse_formpar): Remove unused parameter `in_spec_module'. All
callers changed.
(parse_formparlist): Likewise.
(parse_processpar): Remove unused variable `parms'.
(parse_definition): Add explicit braces to avoid ambiguous `else'.
(parse_multi_dimension_case_action): Initialize variable
`begin_test_label'. Remove unused variable `new_test'.
(parse_case_action): Remove unused variable `caseaction_flag'.
(parse_asm_clobbers): Remove unused variable `expr'.
(parse_delay_case_action): Initialize variable `label_cnt'.
(parse_action): Make function static.
(parse_tuple_element): Remove unused variable `list'.
(parse_primval): Add default case in switch.
(parse_variant_alternative): Remove unused variables `x' and
`variant_fields'.
* satisfy.c: Include system.h and toplev.h. Remove redundant
prototypes.
* tasking.c Include system.h and toplev.h. Remove redundant
prototypes.
(data_name): Hide.
(get_struct_variable_name): Likewise.
(validate_process_parameters): Mark parameter `parms' with
ATTRIBUTE_UNUSED.
(build_start_process): Initialize variable `tuple'.
(build_receive_buffer_case_end): Remove unused variable `buffer_ptr'.
* timing.c: Include system.h and toplev.h.
(build_after_timeout_start): Remove unused variable `goto_where'.
* tree.c: Include system.h and toplev.h. Remove redundant
prototypes.
* typeck.c: Include system.h and toplev.h. Remove redundant
prototypes.
(extract_constant_from_buffer): Make function static. Add
explicit braces to avoid ambiguous `else'.
(expand_constant_to_buffer): Likewise.
(build_chill_slice): remove unused variable `is_static'.
(chill_compatible): Add explicit braces to avoid ambiguous `else'.
(apply_chill_array_layout): Remove unused variable `offset'.
(smash_dummy_type): Remove unused variable `save_lang_specific'.
(initializer_constant_valid_p): Add default case in switch.
From-SVN: r22493
1998-09-20 08:43:23 +02:00
|
|
|
|
#endif
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern void push_chill_function_context PARAMS ((void));
|
|
|
|
|
extern void push_parm_decl PARAMS ((tree));
|
|
|
|
|
extern tree pushdecl PARAMS ((tree));
|
|
|
|
|
extern tree pushdecl_top_level PARAMS ((tree));
|
|
|
|
|
extern void pushlevel PARAMS ((int));
|
|
|
|
|
extern void set_block PARAMS ((tree));
|
|
|
|
|
extern tree shadow_label PARAMS ((tree));
|
|
|
|
|
extern void shadow_record_fields PARAMS ((tree));
|
|
|
|
|
extern void shadow_tag PARAMS ((tree));
|
|
|
|
|
extern void shadow_tag_warned PARAMS ((tree, int));
|
|
|
|
|
extern tree start_enum PARAMS ((tree));
|
|
|
|
|
extern int start_function PARAMS ((tree, tree, int));
|
|
|
|
|
extern tree start_decl PARAMS ((tree, tree, int));
|
|
|
|
|
extern tree start_struct PARAMS ((enum tree_code, tree));
|
|
|
|
|
extern void store_parm_decls PARAMS ((void));
|
|
|
|
|
extern tree xref_tag PARAMS ((enum tree_code, tree));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in c-typeck.c */
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern tree build_array_ref PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_c_cast PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_chill_modify_expr PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_chill_component_ref PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_component_ref PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_compound_expr PARAMS ((tree));
|
|
|
|
|
extern tree build_conditional_expr PARAMS ((tree, tree, tree));
|
|
|
|
|
extern tree build_function_call PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_indirect_ref PARAMS ((tree, char *));
|
|
|
|
|
extern tree build_modify_expr PARAMS ((tree, enum tree_code, tree));
|
|
|
|
|
extern tree build_unary_op PARAMS ((enum tree_code, tree, int));
|
|
|
|
|
extern tree c_alignof PARAMS ((tree));
|
|
|
|
|
extern tree c_alignof_expr PARAMS ((tree));
|
|
|
|
|
extern void c_expand_asm_operands PARAMS ((tree, tree, tree, tree, int, char *, int));
|
|
|
|
|
extern tree c_sizeof PARAMS ((tree));
|
|
|
|
|
extern void c_expand_return PARAMS ((tree));
|
|
|
|
|
extern tree c_expand_start_case PARAMS ((tree));
|
|
|
|
|
extern tree common_type PARAMS ((tree, tree));
|
|
|
|
|
extern tree copy_novelty PARAMS ((tree, tree));
|
|
|
|
|
extern tree default_conversion PARAMS ((tree));
|
|
|
|
|
extern void finish_init PARAMS ((void));
|
|
|
|
|
extern tree parser_build_binary_op PARAMS ((enum tree_code, tree, tree));
|
|
|
|
|
extern tree pop_init_level PARAMS ((int));
|
|
|
|
|
extern void process_init_default PARAMS ((tree));
|
|
|
|
|
extern void process_init_element PARAMS ((tree));
|
|
|
|
|
extern void push_init_level PARAMS ((int));
|
|
|
|
|
extern void really_start_incremental_init PARAMS ((tree));
|
|
|
|
|
extern void set_init_index PARAMS ((tree, tree));
|
|
|
|
|
extern void set_init_label PARAMS ((tree));
|
|
|
|
|
extern void start_init PARAMS ((tree, tree, int));
|
|
|
|
|
extern void store_init_value PARAMS ((tree, tree));
|
|
|
|
|
extern tree valid_array_index_p PARAMS ((tree, tree, const char *, int));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in ch/actions.c */
|
|
|
|
|
extern int grant_only_flag;
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern void allocate_lang_decl PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_abs PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_array_ref_1 PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_chill_array_ref PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_chill_bin_type PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_binary_op PARAMS ((enum chill_tree_code, tree, tree));
|
|
|
|
|
extern tree build_chill_card PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_case_expr PARAMS ((tree, tree, tree));
|
|
|
|
|
extern tree build_cause_exception PARAMS ((tree, int));
|
|
|
|
|
extern tree build_chill_exception_decl PARAMS ((const char *));
|
|
|
|
|
extern tree build_chill_function_call PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_chill_length PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_indirect_ref PARAMS ((tree, tree, int));
|
|
|
|
|
extern tree build_chill_lower PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_max PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_min PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_num PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_repetition_op PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_chill_sizeof PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_slice PARAMS ((tree, tree, tree));
|
|
|
|
|
extern tree build_chill_slice_with_range PARAMS ((tree, tree, tree));
|
|
|
|
|
extern tree build_chill_slice_with_length PARAMS ((tree, tree, tree));
|
|
|
|
|
extern tree build_chill_struct_type PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_unary_op PARAMS ((enum chill_tree_code, tree));
|
|
|
|
|
extern tree build_chill_upper PARAMS ((tree));
|
|
|
|
|
extern tree build_exception_variant PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_generalized_call PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_lang_decl PARAMS ((enum chill_tree_code, tree, tree));
|
|
|
|
|
extern tree build_rts_call PARAMS ((const char *, tree, tree));
|
|
|
|
|
extern tree build_varying_struct PARAMS ((tree));
|
|
|
|
|
extern void chill_check_decl PARAMS ((tree));
|
|
|
|
|
extern tree chill_convert_for_assignment PARAMS ((tree, tree, const char *));
|
|
|
|
|
extern void chill_expand_return PARAMS ((tree, int));
|
|
|
|
|
extern void chill_expand_result PARAMS ((tree, int));
|
|
|
|
|
extern void chill_handle_case_default PARAMS ((void));
|
|
|
|
|
extern void chill_handle_case_label PARAMS ((tree, tree));
|
|
|
|
|
extern int chill_varying_string_type_p PARAMS ((tree));
|
|
|
|
|
extern int chill_varying_type_p PARAMS ((tree));
|
|
|
|
|
extern int ch_singleton_set PARAMS ((tree));
|
|
|
|
|
extern tree check_expression PARAMS ((tree, tree, tree));
|
|
|
|
|
extern void check_missing_cases PARAMS ((tree));
|
|
|
|
|
extern tree check_non_null PARAMS ((tree));
|
|
|
|
|
extern tree check_range PARAMS ((tree, tree, tree,tree));
|
|
|
|
|
extern void cond_type_range_exception PARAMS ((tree));
|
|
|
|
|
extern void expand_cause_exception PARAMS ((tree));
|
|
|
|
|
extern tree finish_chill_binary_op PARAMS ((tree));
|
|
|
|
|
extern tree finish_chill_unary_op PARAMS ((tree));
|
|
|
|
|
extern tree high_domain_value PARAMS ((tree));
|
|
|
|
|
extern tree low_domain_value PARAMS ((tree));
|
|
|
|
|
extern tree maybe_array_ref PARAMS ((tree, tree));
|
|
|
|
|
extern void maybe_chill_check_decl PARAMS ((tree));
|
|
|
|
|
extern tree powersetlen PARAMS ((tree));
|
|
|
|
|
extern tree test_range PARAMS ((tree, tree, tree));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
/* in ch/convert.c */
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern tree build_array_type_for_scalar PARAMS ((tree));
|
|
|
|
|
extern tree convert PARAMS ((tree, tree));
|
|
|
|
|
extern tree convert_from_reference PARAMS ((tree));
|
|
|
|
|
extern tree convert_to_class PARAMS ((ch_class, tree));
|
|
|
|
|
extern const char *display_int_cst PARAMS ((tree));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in ch/decl.c */
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern tree build_enumerator PARAMS ((tree, tree));
|
|
|
|
|
extern tree chill_munge_params PARAMS ((tree, tree, tree));
|
|
|
|
|
extern tree build_chill_function_type PARAMS ((tree, tree, tree, tree));
|
|
|
|
|
extern tree decl_temp1 PARAMS ((tree, tree, int, tree, int, int));
|
|
|
|
|
extern void do_based_decls PARAMS ((tree, tree, tree));
|
|
|
|
|
extern void do_chill_outparms PARAMS ((void));
|
|
|
|
|
extern tree do_decl PARAMS ((tree, tree, int, int, tree, int));
|
|
|
|
|
extern void do_decls PARAMS ((tree, tree, int, int, tree, int));
|
|
|
|
|
extern void expand_chill_outparms PARAMS ((void));
|
|
|
|
|
extern void find_granted_decls PARAMS ((void));
|
|
|
|
|
extern void finish_chill_function PARAMS ((void));
|
|
|
|
|
extern tree finish_enum PARAMS ((tree, tree));
|
|
|
|
|
extern void fixup_chill_parms PARAMS ((tree));
|
|
|
|
|
extern void finish_outer_function PARAMS ((void));
|
|
|
|
|
extern unsigned get_type_precision PARAMS ((tree, tree));
|
|
|
|
|
extern tree grok_chill_fixedfields PARAMS ((tree, tree, tree));
|
|
|
|
|
extern tree grok_chill_variantdefs PARAMS ((tree, tree, tree));
|
|
|
|
|
extern void layout_enum PARAMS ((tree));
|
|
|
|
|
/* extern tree lookup_remembered_decl PARAMS ((HOST_WIDE_INT, tree)); */
|
|
|
|
|
extern void lookup_and_expand_goto PARAMS ((tree));
|
|
|
|
|
extern tree lookup_tag_fields PARAMS ((tree, tree));
|
|
|
|
|
extern void lookup_and_handle_exit PARAMS ((tree));
|
|
|
|
|
extern tree massage_param_node PARAMS ((tree, tree));
|
|
|
|
|
extern void pop_module PARAMS ((void));
|
|
|
|
|
extern void print_mode PARAMS ((tree));
|
|
|
|
|
extern tree push_extern_function PARAMS ((tree, tree, tree, tree, int));
|
|
|
|
|
extern void push_extern_process PARAMS ((tree, tree, tree, int));
|
|
|
|
|
extern void push_extern_signal PARAMS ((tree, tree, tree));
|
|
|
|
|
extern void push_granted PARAMS ((tree, tree));
|
|
|
|
|
extern tree push_modedef PARAMS ((tree, tree, int));
|
|
|
|
|
extern tree push_module PARAMS ((tree, int));
|
|
|
|
|
extern void push_parms PARAMS ((tree, tree, tree));
|
|
|
|
|
extern void push_syndecl PARAMS ((tree, tree, tree));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
extern int result_never_set;
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern void save_expr_under_name PARAMS ((tree, tree));
|
|
|
|
|
extern tree set_module_name PARAMS ((tree));
|
|
|
|
|
extern int start_chill_function PARAMS ((tree, tree, tree, tree, tree));
|
|
|
|
|
extern void start_outer_function PARAMS ((void));
|
|
|
|
|
extern void switch_to_pass_2 PARAMS ((void));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in ch/except.c */
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern void chill_check_no_handlers PARAMS ((void));
|
|
|
|
|
extern void chill_finish_on PARAMS ((void));
|
|
|
|
|
extern void chill_handle_on_labels PARAMS ((tree));
|
|
|
|
|
extern void chill_reraise_exceptions PARAMS ((tree));
|
|
|
|
|
extern void chill_start_default_handler PARAMS ((void));
|
|
|
|
|
extern void chill_start_on PARAMS ((void));
|
|
|
|
|
extern void expand_goto_except_cleanup PARAMS ((int));
|
|
|
|
|
extern int is_handled PARAMS ((tree));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in ch/expr.c */
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern tree build_chill_addr_expr PARAMS ((tree, const char *));
|
|
|
|
|
extern tree build_chill_arrow_expr PARAMS ((tree, int));
|
|
|
|
|
extern tree build_component_ref PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_chill_compound_expr PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_descr PARAMS ((tree));
|
|
|
|
|
extern void build_chill_descr_type PARAMS ((void));
|
|
|
|
|
extern void build_chill_inttime_type PARAMS ((void));
|
|
|
|
|
extern tree build_compare_expr PARAMS ((enum tree_code,
|
1998-08-27 22:51:38 +02:00
|
|
|
|
tree, tree));
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern tree build_compare_discrete_expr PARAMS ((enum tree_code,
|
1998-08-27 22:51:38 +02:00
|
|
|
|
tree, tree));
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern tree check_case_selector PARAMS ((tree));
|
|
|
|
|
extern tree check_case_selector_list PARAMS ((tree));
|
|
|
|
|
extern tree check_have_mode PARAMS ((tree, const char *));
|
|
|
|
|
extern void init_chill_expand PARAMS ((void));
|
|
|
|
|
extern void chill_expand_assignment PARAMS ((tree, enum chill_tree_code, tree));
|
|
|
|
|
extern void expand_assignment_action PARAMS ((tree, enum chill_tree_code, tree));
|
|
|
|
|
extern int compare_int_csts PARAMS ((enum chill_tree_code,
|
1998-08-27 22:51:38 +02:00
|
|
|
|
tree, tree));
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern void expand_varying_length_assignment PARAMS ((tree, tree));
|
|
|
|
|
extern tree force_addr_of PARAMS ((tree));
|
|
|
|
|
extern tree resolve_component_ref PARAMS ((tree));
|
|
|
|
|
extern tree truthvalue_conversion PARAMS ((tree));
|
|
|
|
|
extern tree varying_to_slice PARAMS ((tree));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in ch/grant.c */
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern void chill_finish_compile PARAMS ((void));
|
|
|
|
|
extern void chill_seize PARAMS ((tree, tree, tree));
|
|
|
|
|
extern void start_outer_function PARAMS ((void));
|
|
|
|
|
extern void finish_chill_seize PARAMS ((tree));
|
|
|
|
|
extern void chill_grant PARAMS ((tree,tree, tree, tree));
|
|
|
|
|
extern void set_default_grant_file PARAMS ((void));
|
|
|
|
|
extern void set_identifier_size PARAMS ((int));
|
|
|
|
|
extern void write_grant_file PARAMS ((void));
|
|
|
|
|
extern void write_spec_module PARAMS ((tree, tree));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in ch/lang.c */
|
|
|
|
|
extern tree string_index_type_dummy;
|
|
|
|
|
extern int flag_old_strings;
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern void GNU_xref_begin PARAMS ((void));
|
|
|
|
|
extern void GNU_xref_end PARAMS ((void));
|
|
|
|
|
extern tree build_chill_array_type PARAMS ((tree, tree, int, tree));
|
|
|
|
|
extern tree build_chill_struct_type PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_pointer_type PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_range_type PARAMS ((tree, tree, tree));
|
|
|
|
|
extern tree build_chill_reference_type PARAMS ((tree));
|
|
|
|
|
extern tree build_simple_array_type PARAMS ((tree, tree, tree));
|
|
|
|
|
extern tree const_expr PARAMS ((tree));
|
|
|
|
|
extern tree get_identifier3 PARAMS ((const char *, const char *, const char *));
|
|
|
|
|
extern tree layout_chill_array_type PARAMS ((tree));
|
|
|
|
|
extern tree layout_chill_range_type PARAMS ((tree, int));
|
|
|
|
|
extern tree layout_chill_pointer_type PARAMS ((tree));
|
|
|
|
|
extern tree layout_chill_struct_type PARAMS ((tree));
|
|
|
|
|
extern tree layout_chill_variants PARAMS ((tree));
|
|
|
|
|
extern tree layout_powerset_type PARAMS ((tree));
|
|
|
|
|
extern tree lookup_interface PARAMS ((tree));
|
|
|
|
|
extern tree maybe_building_objc_message_expr PARAMS ((void));
|
|
|
|
|
extern void maybe_objc_check_decl PARAMS ((tree));
|
|
|
|
|
extern int maybe_objc_comptypes PARAMS ((tree, tree));
|
|
|
|
|
extern int recognize_objc_keyword PARAMS ((void));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in ch/lex.l */
|
|
|
|
|
extern tree use_seizefile_name;
|
|
|
|
|
extern tree current_seizefile_name;
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern tree build_chill_string PARAMS ((int, const char *));
|
|
|
|
|
extern int check_newline PARAMS ((void));
|
|
|
|
|
extern tree get_chill_filename PARAMS ((void));
|
|
|
|
|
extern tree get_chill_linenumber PARAMS ((void));
|
|
|
|
|
extern void register_seize_path PARAMS ((const char *));
|
|
|
|
|
extern void reinit_parse_for_function PARAMS ((void));
|
|
|
|
|
extern void mark_use_seizefile_written PARAMS ((tree));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in ch/loop.c */
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern void begin_chill_loop PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_chill_iterator PARAMS ((tree, tree, tree, int, int, int));
|
|
|
|
|
extern void end_chill_loop PARAMS ((void));
|
|
|
|
|
extern tree get_unique_identifier PARAMS ((const char *));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in ch/inout.c */
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern tree access_recordmode PARAMS ((tree));
|
|
|
|
|
extern void invalidate_access_recordmode PARAMS ((tree));
|
|
|
|
|
extern tree access_indexmode PARAMS ((tree));
|
|
|
|
|
extern tree access_dynamic PARAMS ((tree));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
extern tree association_init_value;
|
|
|
|
|
extern tree association_type_node;
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern tree build_access_mode PARAMS ((tree, tree, int));
|
|
|
|
|
extern tree build_chill_associate PARAMS ((tree, tree, tree));
|
|
|
|
|
extern tree build_chill_connect PARAMS ((tree, tree, tree, tree));
|
|
|
|
|
extern tree build_chill_create PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_delete PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_disconnect PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_dissociate PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_eoln PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_existing PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_gettextaccess PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_getassociation PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_gettextindex PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_gettextrecord PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_getusage PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_indexable PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_isassociated PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_modify PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_chill_outoffile PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_readable PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_readrecord PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_chill_readtext PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_chill_sequencible PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_settextaccess PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_chill_settextindex PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_chill_settextrecord PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_chill_variable PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_writeable PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_writerecord PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_chill_writetext PARAMS ((tree, tree));
|
|
|
|
|
extern void build_enum_tables PARAMS ((void));
|
|
|
|
|
extern tree build_text_mode PARAMS ((tree, tree, int));
|
|
|
|
|
extern tree check_text_length PARAMS ((tree));
|
|
|
|
|
extern void init_access_location PARAMS ((tree, tree));
|
|
|
|
|
extern void init_text_location PARAMS ((tree, tree));
|
|
|
|
|
extern void inout_init PARAMS ((void));
|
|
|
|
|
extern tree text_dynamic PARAMS ((tree));
|
|
|
|
|
extern tree text_indexmode PARAMS ((tree));
|
|
|
|
|
extern tree text_length PARAMS ((tree));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
extern tree usage_type_node;
|
|
|
|
|
extern tree where_type_node;
|
|
|
|
|
|
|
|
|
|
/* in ch/parse.c */
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern tree get_type_of PARAMS ((tree));
|
|
|
|
|
extern void set_yydebug PARAMS ((int));
|
|
|
|
|
extern void yyerror PARAMS ((char *));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
extern int pass;
|
|
|
|
|
extern int ignoring;
|
|
|
|
|
extern int seen_action;
|
|
|
|
|
extern int build_constructor;
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern void possibly_define_exit_label PARAMS ((tree));
|
|
|
|
|
extern void to_global_binding_level PARAMS ((void));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in ch/satisfy.c */
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern tree satisfy_decl PARAMS ((tree, int));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in ch/tasking.c */
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern void add_taskstuff_to_list PARAMS ((tree, const char *, tree, tree, tree));
|
|
|
|
|
extern void process_buffer_decls PARAMS ((tree, tree, int));
|
|
|
|
|
extern tree buffer_element_mode PARAMS ((tree));
|
|
|
|
|
extern void invalidate_buffer_element_mode PARAMS ((tree));
|
|
|
|
|
extern tree build_buffer_descriptor PARAMS ((tree, tree, tree));
|
|
|
|
|
extern tree build_buffer_type PARAMS ((tree, tree));
|
|
|
|
|
extern void build_delay_action PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_delay_case_start PARAMS ((tree, tree));
|
|
|
|
|
extern void build_delay_case_end PARAMS ((tree));
|
|
|
|
|
extern void build_delay_case_label PARAMS ((tree, int));
|
|
|
|
|
extern tree build_event_type PARAMS ((tree));
|
|
|
|
|
extern void build_receive_case_end PARAMS ((tree, tree));
|
|
|
|
|
extern int build_receive_case_if_generated PARAMS ((void));
|
|
|
|
|
extern tree build_receive_case_label PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_receive_case_start PARAMS ((tree));
|
|
|
|
|
extern void expand_continue_event PARAMS ((tree));
|
|
|
|
|
extern void expand_send_buffer PARAMS ((tree, tree, tree, tree, tree));
|
|
|
|
|
extern void expand_send_signal PARAMS ((tree, tree, tree, tree, tree));
|
|
|
|
|
extern void build_start_process PARAMS ((tree, tree, tree, tree));
|
|
|
|
|
extern tree build_copy_number PARAMS ((tree));
|
|
|
|
|
extern tree build_gen_code PARAMS ((tree));
|
|
|
|
|
extern tree build_gen_inst PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_gen_ptype PARAMS ((tree));
|
|
|
|
|
extern void build_instance_type PARAMS ((void));
|
|
|
|
|
extern tree build_process_header PARAMS ((tree, tree));
|
|
|
|
|
extern void build_process_wrapper PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_proc_type PARAMS ((tree));
|
|
|
|
|
extern tree build_queue_length PARAMS ((tree));
|
|
|
|
|
extern tree build_signal_descriptor PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_signal_struct_type PARAMS ((tree, tree, tree));
|
|
|
|
|
extern tree build_tasking_struct PARAMS ((void));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
extern tree chill_taskingcode_type_node;
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern tree check_queue_size PARAMS ((tree));
|
|
|
|
|
extern tree generate_tasking_code_variable PARAMS ((tree, tree *, int));
|
|
|
|
|
extern tree get_signal_type_name PARAMS ((tree));
|
|
|
|
|
extern tree get_struct_type_name PARAMS ((tree));
|
|
|
|
|
extern tree get_tasking_code_name PARAMS ((tree));
|
|
|
|
|
extern tree make_process_struct PARAMS ((tree, tree));
|
|
|
|
|
extern tree make_signal_struct PARAMS ((tree));
|
|
|
|
|
extern tree max_queue_size PARAMS ((tree));
|
|
|
|
|
extern void tasking_init PARAMS ((void));
|
|
|
|
|
extern void tasking_registry PARAMS ((void));
|
|
|
|
|
extern void tasking_setup PARAMS ((void));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in ch/timing.c */
|
|
|
|
|
extern tree abs_timing_type_node;
|
|
|
|
|
extern tree after_stack;
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern void build_after_end PARAMS ((void));
|
|
|
|
|
extern void build_after_start PARAMS ((tree, int));
|
|
|
|
|
extern void build_after_timeout_start PARAMS ((void));
|
|
|
|
|
extern void build_at_action PARAMS ((tree));
|
|
|
|
|
extern void build_cycle_end PARAMS ((tree));
|
|
|
|
|
extern tree build_cycle_start PARAMS ((tree));
|
|
|
|
|
extern tree build_timeout_preface PARAMS ((void));
|
|
|
|
|
extern void build_timesupervised_call PARAMS ((tree, tree));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
extern tree duration_timing_type_node;
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern void timing_init PARAMS ((void));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in ch/tree.c */
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern tree build_alias_decl PARAMS ((tree, tree, tree));
|
|
|
|
|
extern tree build_bitstring_type PARAMS ((tree));
|
|
|
|
|
extern tree build_powerset_type PARAMS ((tree));
|
|
|
|
|
extern tree build_string_type PARAMS ((tree, tree));
|
|
|
|
|
extern tree decl_check_rename PARAMS ((tree, tree));
|
|
|
|
|
extern tree discrete_count PARAMS ((tree));
|
|
|
|
|
extern int list_length PARAMS ((tree));
|
|
|
|
|
extern tree munge_exit_label PARAMS ((tree));
|
|
|
|
|
extern tree save_if_needed PARAMS ((tree));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in ch/typeck.c */
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern tree build_array_from_set PARAMS ((tree));
|
|
|
|
|
extern tree build_chill_array_ref PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_chill_bitref PARAMS ((tree, tree));
|
|
|
|
|
extern tree build_chill_cast PARAMS ((tree, tree));
|
|
|
|
|
extern tree chill_equivalent PARAMS ((tree, tree, struct mode_chain*));
|
|
|
|
|
extern tree build_init_struct PARAMS ((void));
|
|
|
|
|
extern tree build_readonly_type PARAMS ((tree));
|
|
|
|
|
extern int chill_compatible PARAMS ((tree, tree));
|
|
|
|
|
extern int chill_compatible_classes PARAMS ((tree, tree));
|
|
|
|
|
extern ch_class chill_expr_class PARAMS ((tree));
|
|
|
|
|
extern tree chill_give_type_to_expr PARAMS ((tree, tree));
|
|
|
|
|
extern tree chill_expand_tuple PARAMS ((tree, tree));
|
|
|
|
|
extern ch_class chill_expr_class PARAMS ((tree));
|
|
|
|
|
extern int chill_location PARAMS ((tree));
|
|
|
|
|
extern tree chill_max_vary_array_index PARAMS ((tree));
|
|
|
|
|
extern int chill_read_compatible PARAMS ((tree, tree));
|
|
|
|
|
extern int chill_referable PARAMS ((tree));
|
|
|
|
|
extern tree chill_root_mode PARAMS ((tree));
|
|
|
|
|
extern ch_class chill_resulting_class PARAMS ((ch_class, ch_class));
|
|
|
|
|
extern tree chill_resulting_mode PARAMS ((tree, tree));
|
|
|
|
|
extern int chill_similar PARAMS ((tree, tree, struct mode_chain*));
|
|
|
|
|
extern int discrete_type_p PARAMS ((tree));
|
|
|
|
|
extern tree convert_to_discrete PARAMS ((tree));
|
|
|
|
|
extern tree smash_dummy_type PARAMS ((tree));
|
|
|
|
|
extern tree string_assignment_condition PARAMS ((tree, tree));
|
|
|
|
|
extern tree type_for_mode PARAMS ((enum machine_mode, int));
|
|
|
|
|
extern tree type_for_size PARAMS ((unsigned, int));
|
|
|
|
|
extern int valid_array_index PARAMS ((tree, tree));
|
|
|
|
|
extern void validate_varying_array_ref PARAMS ((tree, tree));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in toplev.c */
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern void announce_function PARAMS ((tree));
|
|
|
|
|
extern int floor_log2_wide PARAMS ((unsigned HOST_WIDE_INT));
|
|
|
|
|
extern void rest_of_compilation PARAMS ((tree));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in varasm.c */
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern void make_function_rtl PARAMS ((tree));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
|
|
|
|
|
/* in ???? */
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern void init_iterators PARAMS ((void));
|
|
|
|
|
extern int mark_addressable PARAMS ((tree));
|
1998-08-27 22:51:38 +02:00
|
|
|
|
extern tree chill_result_decl;
|
|
|
|
|
|
|
|
|
|
#ifndef SET_WORD_SIZE
|
|
|
|
|
#define SET_WORD_SIZE BITS_PER_WORD
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
struct module
|
|
|
|
|
{
|
|
|
|
|
struct module *next_module; /* Next module, in order of their beginning. */
|
|
|
|
|
struct module *prev_module; /* The surrounding module, if any. */
|
|
|
|
|
tree name;
|
|
|
|
|
tree prefix_name; /* Usually same as name, expect for nested modules.
|
|
|
|
|
Used to generate DECL_ASSEMBLER_NAMEs. */
|
|
|
|
|
/* procedure_seen indicates a procedure or process was declared.
|
|
|
|
|
After this, no SEIZE, DCL, SYN, NEWMODE, SYNMODE statement is allowed */
|
|
|
|
|
int procedure_seen;
|
|
|
|
|
int is_spec_module;
|
|
|
|
|
|
|
|
|
|
/* The value of current_nesting_level inside the module. */
|
|
|
|
|
int nesting_level;
|
|
|
|
|
|
|
|
|
|
/* A chain contain one ALIAS_DECL for each 'GRANT foo->bar'.
|
|
|
|
|
The DECL_NAME is get_identifier("bar"), and the DECL_INITIAL
|
|
|
|
|
is get_identifier("bar"). Only used in pass 1. */
|
|
|
|
|
tree granted_decls;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
extern struct module *current_module;
|
|
|
|
|
|
|
|
|
|
/* fold a tree to constant as much as possible */
|
2000-01-17 15:51:05 +01:00
|
|
|
|
extern tree deep_fold PARAMS ((tree));
|
Makefile.in (ch-version.c): Constify a char*.
* Makefile.in (ch-version.c): Constify a char*.
* actions.c (id_cmp, warn_unhandled, adjust_return_value,
update_else_range_for_int_const, update_else_range_for_range,
update_else_range_for_range_expr, update_else_range_for_type,
compute_else_range, check_case_value,
chill_handle_case_label_range,
chill_handle_multi_case_label_range,
chill_handle_multi_case_else_label, chill_handle_multi_case_label,
chill_handle_multi_case_label_list print_missing_cases): Add
static prototypes.
(build_exception_variant): Cast the function argument of qsort.
(build_rts_call, warn_unhandled, chill_convert_for_assignment,
adjust_return_value, chill_expand_result,
build_multi_case_selector_expression, print_missing_cases):
Constify a char*.
(print_missing_cases): Introduce an intermediary non-const ptr.
Add brackets and indent.
* ch-tree.h (maybe_building_objc_message_expr,
maybe_objc_comptypes, comptypes_record_hook): Remove declarations.
(push_handler, pop_handler): Add prototypes.
(builtin_function, valid_array_index_p,
build_chill_exception_decl, build_rts_call,
chill_convert_for_assignment, display_int_cst,
build_chill_addr_expr, check_have_mode, get_identifier3,
build_chill_string, register_seize_path, get_unique_identifier,
add_taskstuff_to_list, gnuchill_version): Constify a char*.
(finish_chill_function): Add void prototype argument.
* convert.c (convert_to_reference, convert_to_boolean,
convert_to_char, base_type_size_in_bytes, remove_tree_element,
check_ps_range, digest_powerset_tuple, digest_structure_tuple,
digest_array_tuple, convert1): Add static prototypes.
(base_type_size_in_bytes): Hide unused function.
(display_int_cst, digest_array_tuple): Constify a char*.
* decl.c (set_nesting_level, make_chill_variants, fix_identifier,
proclaim_decl, maybe_acons, push_scope_decls, pop_scope_decls,
build_implied_names, bind_sub_modules, layout_array_type,
do_based_decl, handle_one_level, label_value_cmp,
find_implied_types): Add static prototypes.
(boolean_code_name, chill_tree_code_type, chill_tree_code_name):
Constify a char*.
(layout_chill_variants): Cast the function argument of qsort.
(start_chill_function, fix_identifier, init_decl_processing):
Constify a char*.
(init_decl_processing): Prefer memcpy over bcopy to avoid casts.
Use xcalloc instead of xmalloc/bzero.
(builtin_function, build_chill_exception_decl,
finish_outer_function): Constify a char*.
* except.c (start_handler_array, finish_handler_array): Add static
prototypes.
* expr.c (chill_expand_expr, chill_expand_case_expr,
check_arglist_length, internal_build_compound_expr,
is_really_instance, invalid_operand, invalid_right_operand,
build_chill_abstime, build_allocate_memory_call,
build_allocate_global_memory_call, build_return_memory,
build_chill_duration, build_chill_floatcall,
build_allocate_getstack, build_chill_allocate,
build_chill_getstack, build_chill_terminate, build_chill_inttime,
build_chill_lower_or_upper, build_max_min,
build_chill_pred_or_succ, expand_packed_set, fold_set_expr,
build_compare_set_expr, scalar_to_string, build_concat_expr,
build_compare_string_expr, compare_records, string_char_rep,
build_boring_bitstring): Add static prototypes.
(check_have_mode, chill_expand_expr, build_chill_floatcall,
build_allocate_getstack, build_max_min, build_chill_function_call,
expand_packed_set, build_compare_set_expr, build_chill_addr_expr,
string_char_rep): Constify a char*.
* gperf (hash, in_word_set): Add prototypes.
* grant.c (newstring, strfree, append, prepend,
grant_use_seizefile, decode_layout, grant_array_type,
grant_array_type_selective, get_tag_value,
get_tag_value_selective, print_enumeral, print_enumeral_selective,
print_integer_type, find_enum_parent, print_integer_selective,
print_struct, print_struct_selective, print_proc_exceptions,
print_proc_tail, print_proc_tail_selective, find_in_decls,
in_ridpointers, grant_seized_identifier, globalize_decl,
grant_one_decl_selective, compare_memory_file, search_in_list,
really_grant_this): Add static prototypes.
(newstring, append, prepend, grant_use_seizefile,
print_integer_type, decode_constant, grant_one_decl_selective,
header_template): Constify a char *.
* inout.c (add_enum_to_list, build_chill_io_list_type,
build_io_types, declare_predefined_file, build_access_part,
textlocation_mode, check_assoc, assoc_call, check_transfer,
connect_process_optionals, connect_text, connect_access,
check_access, check_text, get_final_type_and_range,
process_io_list, check_format_string, get_max_size,
check_exprlist): Add static prototypes.
(declare_predefined_file, check_assoc, assoc_call, check_transfer,
check_access, check_text, process_io_list): Constify a char*.
* lang.c (deep_const_expr, chill_print_error_function): Add static
prototypes.
* lex.c (close_input_file, maybe_number, string_or_char): Constify
a char*.
(ch_lex_init, skip_directive, same_file, getlc, yywrap,
yy_refill): Add static prototypes.
(build_chill_string, same_file, register_seize_path): Constify a
char*.
* lex.h (finish_chill_seizes): Remove unused prototypes.
* loop.c (build_temporary_variable, maybe_make_for_temp,
get_unique_identifier): Constify a char*.
* parse.c (ch_parse_init, check_end_label, end_function,
build_prefix_clause, PEEK_TOKEN, peek_token_, pushback_token,
forward_token_, require, check_token, expect, define__PROCNAME__):
Add static prototypes.
(build_prefix_clause, expect): Constify a char*.
(parse_expression, parse_primval, parse_untyped_expr,
parse_opt_untyped_expr, parse_opt_actions): Add void prototype
argument.
(parse_opt_name_string, parse_simple_name_string,
parse_name_string, parse_defining_occurrence, parse_name,
parse_optlabel, parse_opt_end_label_semi_colon, parse_modulion,
parse_spec_module, parse_semi_colon,
parse_defining_occurrence_list, parse_mode_definition,
parse_mode_definition_statement, parse_synonym_definition,
parse_synonym_definition_statement, parse_on_exception_list,
parse_on_alternatives, parse_loc_declaration,
parse_declaration_statement, parse_optforbid, parse_postfix,
parse_postfix_list, parse_rename_clauses, parse_opt_prefix_clause,
parse_grant_statement, parse_seize_statement,
parse_param_name_list, parse_param_attr, parse_formpar,
parse_formparlist, parse_opt_result_spec, parse_opt_except,
parse_opt_recursive, parse_procedureattr, parse_proc_body,
parse_procedure_definition, parse_processpar,
parse_processparlist, parse_process_definition,
parse_signal_definition, parse_signal_definition_statement,
parse_then_clause, parse_opt_else_clause, parse_expr_list,
parse_range_list_clause, pushback_paren_expr, parse_case_label,
parse_case_label_list, parse_case_label_specification,
parse_single_dimension_case_action,
parse_multi_dimension_case_action, parse_case_action,
parse_asm_operands, parse_asm_clobbers, ch_expand_asm_operands,
parse_asm_action, parse_begin_end_block, parse_if_action,
parse_iteration, parse_delay_case_event_list,
parse_delay_case_action, parse_do_action, parse_receive_spec,
parse_receive_case_action, parse_send_action, parse_start_action,
parse_call, parse_tuple_fieldname_list, parse_tuple_element,
parse_opt_element_list, parse_tuple, parse_operand6,
parse_operand5, parse_operand4, parse_operand3, parse_operand2,
parse_operand1, parse_operand0, parse_case_expression,
parse_then_alternative, parse_else_alternative,
parse_if_expression, parse_index_mode, parse_set_mode, parse_pos,
parse_step, parse_opt_layout, parse_field_name_list,
parse_fixed_field, parse_variant_field_list,
parse_variant_alternative, parse_field, parse_structure_mode,
parse_opt_queue_size, parse_procedure_mode, parse_program,
parse_pass_1_2): Add static prototypes.
(parse_process_definition): Remove extra argument in function call.
(parse_range_list_clause): Likewise.
* satisfy.c (satisfy, cycle_error_print, safe_satisfy_decl,
satisfy_list, satisfy_list_values): Add static prototype.
(safe_satisfy_decl): Cast DECL_TASKING_CODE_DECL() to (tree).
* tasking.c (make_process_struct): Remove unused prototype.
(validate_process_parameters, get_struct_variable_name,
decl_tasking_code_variable, get_struct_debug_type_name,
get_process_wrapper_name, build_tasking_enum,
build_tasking_message_type, build_receive_signal_case_label,
build_receive_buffer_case_label, build_receive_buffer_case_end,
build_receive_signal_case_end): Add static prototypes.
(struct_name, struct_debug_name, data_name, wrapper_name,
get_struct_type_name, get_struct_debug_type_name,
get_tasking_code_name, get_struct_variable_name,
get_process_wrapper_name): Constify a char*.
(validate_process_parameters, get_struct_variable_name,
decl_tasking_code_variable): Hide unused functions.
(build_start_process, add_taskstuff_to_list, build_queue_length):
Constify a char*.
* tree.c (make_powerset_type): Add static prototype.
(get_identifier3, build_alias_decl, decl_check_rename): Constify a
char*.
* typeck.c (extract_constant_from_buffer,
expand_constant_to_buffer, build_empty_string,
make_chill_pointer_type, make_chill_range_type,
apply_chill_array_layout, field_decl_cmp, make_chill_struct_type,
apply_chill_field_layout): Add static prototype.
(valid_array_index_p, extract_constant_from_buffer,
chill_expand_tuple): Constify a char*.
(layout_chill_struct_type): Cast the function argument of qsort.
From-SVN: r28965
1999-08-29 15:34:10 +02:00
|
|
|
|
|
|
|
|
|
extern const char * const gnuchill_version;
|
|
|
|
|
|
2001-05-26 03:31:47 +02:00
|
|
|
|
#endif /* ! GCC_CH_TREE_H */
|