63ad61edae
* c-common.c (declare_function_name): Use func_id_node, function_id_node, and pretty_function_id_node. Do not make __func__ visible at file scope. * c-common.h (c_tree_index): Add CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, and CTI_FUNC_ID. (function_id_node, pretty_function_id_node, func_id_node): New macros. * c-decl.c (init_decl_processing): Initialize function_id_node, pretty_function_id_node, and func_id_node. (c_make_fname_decl): Correct comment. * tree.h (struct tree_identifier): Constify pointer member. * c-decl.c (pushdecl, implicit_decl_warning): Constify a char *. * c-pragma.h (struct weak_syms): Constify name and value members. (add_weak): Constify arguments. * calls.c (special_function_p): Constify a char *. (expand_call): Remove variable which is initialized and then never used. * dependence.c (struct def_use, struct induction, struct subscript): Constify 'variable' member. (get_low_bound, have_induction_variable): Constify char * argument. (find_induction_variable): Add braces to avoid dangling else. (classify_dependence): Constify char * arrays. * profile.c (output_func_start_profiler): Constify a char *. * stor-layout.c (finalize_record_size): Constify a char *. * tree.c (is_attribute_p): Constify a char *. * varasm.c (add_weak, remove_from_pending_weak_list): Constify argument. * varasm.c (make_function_rtl, make_decl_rtl): Rearrange code for comprehensibility. Do not call get_identifier if we did not change the DECL_ASSEMBLER_NAME of the decl. Use alloca to create temporary string constants, not ggc_alloc_string. No need to copy result of ASM_FORMAT_PRIVATE_NAME. Use const char * to hold IDENTIFIER_POINTERs. ch: * inout.c (add_enum_to_list): Use DECL_NAME directly, don't get its IDENTIFIER_POINTER and immediately call get_identifier on it. * lex.c (yywrap): Constify a char *. cp: * class.c (build_secondary_vtable): Constify a char *. * decl.c (init_decl_processing): Initialize function_id_node, pretty_function_id_node, and func_id_node. * input.c (struct input_source): Constify 'str'. (feed_input): Constify first argument. * mangle.c (write_identifier): Constify argument. * pt.c (mangle_class_name_for_template): Constify argument. f: * ansify.c: Use #line, not # <number>. java: * jcf-parse.c (set_source_filename): Constify a char *. * jcf-write.c (append_innerclasses_attribute, make_class_file_name): Constify a char *. Don't recycle a variable for an unrelated purpose. * parse.y: (build_alias_initializer_parameter_list): Constify a char *. (breakdown_qualified): Do not modify IDENTIFIER_POINTER strings. From-SVN: r36055 |
||
---|---|---|
.. | ||
actions.c | ||
actions.h | ||
ch-tree.def | ||
ch-tree.h | ||
ChangeLog | ||
chill.brochure | ||
chill.in | ||
chill.texi | ||
config-lang.in | ||
configure | ||
convert.c | ||
decl.c | ||
except.c | ||
expr.c | ||
gperf | ||
grant.c | ||
hash.h | ||
inout.c | ||
lang-options.h | ||
lang-specs.h | ||
lang.c | ||
lex.c | ||
lex.h | ||
loop.c | ||
Make-lang.in | ||
Makefile.in | ||
nloop.c | ||
parse.c | ||
parse.h | ||
README | ||
satisfy.c | ||
tasking.c | ||
tasking.h | ||
timing.c | ||
tree.c | ||
typeck.c | ||
xtypeck.c |
This directory contains the GNU front-end for the Chill language, contributed by Cygnus Solutions. Chill is the "CCITT High-Level Language", where CCITT is the old name for what is now ITU, the International Telecommunications Union. It is is language in the Modula2 family, and targets many of the same applications as Ada (especially large embedded systems). Chill was never used much in the United States, but is still being used in Europe, Brazil, Korea, and other places. Chill has been standardized by a series of reports/standards. The GNU implementation mostly follows the 1988 version of the language, with some backwards compatibility options for the 1984 version, and some other extensions. However, it does not implement all of the features of any standard. The most recent standard is Z.200 (11/93), available from http://www.itu.int/itudoc/itu-t/rec/z.html. The GNU Chill implementation is not being actively developed. Cygnus has one customer we are maintaining Chill for, but we are not planning on putting major work into Chill. This Net release is for educational purposes (as an example of a different Gcc front-end), and for those who find it useful. It is an unsupported hacker release. Bug reports without patches are likely to get ignored. Questions may get answered or ignored depending on our mood! If you want to try your luck, you can send a note to David Brolley <brolley@cygnus.com> or Per Bothner <bothner@cygnus.com>. One known problem is that we only support native builds of GNU Chill. If you need a cross-compiler, you will find various problems, including the directory structure, and the setjmp-based exception handling mechanism. The Chill run-time system is in the runtime sub-directory. Notice rts.c contains a poor main's implementation of Chill "processes" (threads). It is not added to libchill.a. We only use it for testing. (Our customer uses a different implementation for production work.) The GNU Chill implementation was primarily written by Per Bothner, along with Bill Cox, Wilfried Moser, Michael Tiemann, and David Brolley.