gcc/gcc/ch
Zack Weinberg b216cd4ae3 real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
* real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
	Always make REAL_VALUE_TYPE a struct containing an array of
	HOST_WIDE_INT, not a double.  Tidy up the code deciding how
	big it is.  Don't declare or use union real_extract.

	* emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
	decode_rtx_const, output_constant_pool), config/a29k/a29k.c
	(print_operand), config/arm/arm.c (output_move_double),
	config/arm/arm.md (consttable_4, consttable_8),
	config/romp/romp.c (output_fpops), config/s390/s390.h
	(ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
	(xtensa_output_literal): Don't use union real_extract.

	* config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
	(sfmode_constant_to_ulong), config/ns32k/merlin.h
	(PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
	config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
	(PRINT_OPERAND): Don't use local version of union
	real_extract.

	* config/convex/convex.c (check_float_value), config/vax/vax.c
	(vax_float_literal), config/m88k/m88k.md (divdf3),
	config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
	config/pdp11/pdp11.c (output_move_quad): Don't do host
	arithmetic on target floating point quantities.

	* config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
	(output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.

	* fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
	Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.

	* real.c (earith): Test INFINITY rather than REAL_INFINITY;
	NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
	INFINITY.
	* print-rtl.c (print_rtx): Disable code which needs
	floating-point emulator.
	* libgcc2.c: Include float.h and use DBL_MANT_DIG,
	FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
	depending on HOST_FLOAT_FORMAT to be defined properly.

	* ch/grant.c, cp/error.c: Always use REAL_VALUE_TO_DECIMAL;
	don't test REAL_IS_NOT_DOUBLE.

	* config/1750a/1750a.c (get_double, float_label): Delete.
	(print_operand): Delete huge commented-out chunk.  Use
	REAL_VALUE_TO_DECIMAL.
	* config/1750a/1750a-protos.h: Delete prototypes of deleted
	functions.
	* config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
	IEEE_FLOAT_FORMAT.
	* config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
	Use REAL_VALUE_TO_DECIMAL as ELF version does.
	* config/m88k/m88k.c (real_power_of_2_operand,
	legitimize_operand): Take the REAL_VALUE_TYPE and/or union
	real_extract out of the union; run the input through
	REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
	from that into the union.
	* config/pdp11/pdp11.c (output_move_double): Rearrange
	parentheses to make automatic indenter happy.

	* doc/tm.texi (Cross-compilation): Rename node to "Floating
	Point" and rewrite to describe current situation.  Also adjust
	documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
	match code.
	* doc/rtl.texi: Adjust cross reference.

From-SVN: r51210
2002-03-23 01:10:56 +00:00
..
ChangeLog real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE. 2002-03-23 01:10:56 +00:00
Make-lang.in configure.in (target_list): Add generated-manpages. 2001-11-29 16:50:19 +00:00
Makefile.in build-make, cross-make: Delete file. 2001-12-04 18:02:50 +00:00
README
actions.c c-decl.c (grokdeclarator): Use ISO word. 2001-12-03 19:15:19 +00:00
actions.h actions.h: Standarize copyright statement. 2000-12-06 18:55:52 -07:00
ch-tree.def ChangeLog, [...]: Fix spelling errors. 2001-10-31 00:59:40 +00:00
ch-tree.h c-common.c, [...]: Delete code implementing -traditional mode. 2002-02-27 18:48:07 +00:00
chill.brochure
chill.in
chill.texi cpp.texi: Don't condition menus on @ifinfo. 2001-12-10 11:27:01 +00:00
config-lang.in configure.in (all_diff_excludes, [...]): Remove. 2001-12-20 00:20:47 +00:00
convert.c convert.c, [...]: Use /* */ for all commentary, not #if 0 ... 2001-10-30 04:27:17 +00:00
decl.c c-common.c (c_tree_code_type, [...]): Delete. 2002-03-13 01:42:43 +00:00
except.c ChangeLog, [...]: Fix spelling errors. 2001-10-31 00:59:40 +00:00
expr.c c-typeck.c, [...]: Use "built-in" and "bit-field" spellings in messages. 2001-12-15 20:31:07 +00:00
gperf
grant.c real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE. 2002-03-23 01:10:56 +00:00
hash.h
inout.c re PR other/5299 (then -> than fixes) 2002-01-11 22:38:55 +00:00
lang-options.h lang-options.h: Bring comment in line with reality. 2001-01-05 19:12:21 +00:00
lang-specs.h gcc.c (cpp_options): Add spec for -ftabstop=. 2000-09-26 17:28:07 +00:00
lang.c c-decl.c (grokdeclarator): Use ISO word. 2001-12-03 19:15:19 +00:00
lex.c toplev.c (set_float_handler): Make static. 2001-08-12 01:56:10 +00:00
lex.h actions.h: Standarize copyright statement. 2000-12-06 18:55:52 -07:00
loop.c c-decl.c (grokdeclarator): Use ISO word. 2001-12-03 19:15:19 +00:00
nloop.c c-decl.c (grokdeclarator): Use ISO word. 2001-12-03 19:15:19 +00:00
parse.c gcc.c, [...]: Use American spelling in messages. 2001-12-15 20:06:12 +00:00
parse.h
satisfy.c c-decl.c (grokdeclarator): Use ISO word. 2001-12-03 19:15:19 +00:00
tasking.c c-decl.c (grokdeclarator): Use ISO word. 2001-12-03 19:15:19 +00:00
tasking.h Standardize header guards. 2001-05-25 18:31:47 -07:00
timing.c c-decl.c (grokdeclarator): Use ISO word. 2001-12-03 19:15:19 +00:00
tree.c c-decl.c (grokdeclarator): Use ISO word. 2001-12-03 19:15:19 +00:00
typeck.c gcc.c, [...]: Use American spelling in messages. 2001-12-15 20:06:12 +00:00
xtypeck.c remove spurious code 2001-03-02 21:55:29 +00:00

README

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.