Makefile.in ($(srcdir)/c-parse.y: c-parse.in): Enclose the whole message in quotes.

* Makefile.in ($(srcdir)/c-parse.y: c-parse.in): Enclose the whole
        message in quotes. Otherwise, IBM's make program treats the '#' as the
        start of a comment and ignores the remainder of the line.

        * c-lex.c (yylex): Change for EBCDIC, lower case characters preceed
        upper case.
        * cccp.c (initialize_char_syntax): Allow for holes in EBCDIC.
        * cexp.y (initialize_random_junk): Likewise.
        * cppfiles.c (find_include_file): Cast alloca return value.
        * cppinit.c (initialize_standard_includes): Likewise.
        * cpplib.c (cpp_define, cpp_undef): Likewise.
        * defaults.h (ASM_OUTPUT_ASCII): Use ISPRINT.
        * final.c (output_asm_insn): Allow for holes in EBCDIC.
        * fold-const.c (CHARMASK): New.
        (real_hex_to_f): Use it.
        * real.c (CHARMASK): New.
        (etoasc, asctoeg): Use it.
        (asctoeg): EBCDIC lower case characters preceed upper case.

From-SVN: r33192
This commit is contained in:
Dave Pitts 2000-04-16 17:54:25 -07:00 committed by Richard Henderson
parent e13f6154af
commit 5f6d382330
12 changed files with 110 additions and 55 deletions

View File

@ -1,3 +1,38 @@
2000-04-12 Dave Pitts <dpitts@cozx.com>
* Makefile.in ($(srcdir)/c-parse.y: c-parse.in): Enclose the whole
message in quotes. Otherwise, IBM's make program treats the '#' as the
start of a comment and ignores the remainder of the line.
* c-lex.c (yylex): Change for EBCDIC, lower case characters preceed
upper case.
* cccp.c (initialize_char_syntax): Allow for holes in EBCDIC.
* cexp.y (initialize_random_junk): Likewise.
* cppfiles.c (find_include_file): Cast alloca return value.
* cppinit.c (initialize_standard_includes): Likewise.
* cpplib.c (cpp_define, cpp_undef): Likewise.
* defaults.h (ASM_OUTPUT_ASCII): Use ISPRINT.
* final.c (output_asm_insn): Allow for holes in EBCDIC.
* fold-const.c (CHARMASK): New.
(real_hex_to_f): Use it.
* real.c (CHARMASK): New.
(etoasc, asctoeg): Use it.
(asctoeg): EBCDIC lower case characters preceed upper case.
* i370.c (mvs_add_label): Change spacing for coding conventions.
* i370.h (ASM_OUTPUT_CASE_LABEL): Change to the data CSECT for the
outputing case vectors.
(ASM_OUTPUT_CASE_END): New, put assembler back into code CSECT.
(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Remove page check,
since vector in in the data CSECT.
(ASM_OUTPUT_REG_POP, ASM_OUTPUT_REG_PUSH): Restore to correct operation. * i370.md (Many patterns): Put the length in the XL directives.
(movdi): Put back STM and MVC in definition.
(floatsidf2): Correct TARGET_ELF_ABI pattern and add back the LE370
pattern using the TCA.
* oe.h (CPP_SPEC): Added to allow trigraphs.
* xm-oe.h (HOST_BITS_PER_LONGLONG): Change to 32. IBM's compiler does
not support the "long long" type.
2000-04-16 Mark Mitchell <mark@codesourcery.com>
* config/mips/mips-protos.h (mips_legitimate_address_p): New
@ -39,9 +74,9 @@
2004-04-16 Neil Booth <NeilB@earthling.net>
* cpphash.h (SYNTAX_INCLUDE, SYNTAX_ASSERT, directive_handler): new.
* cpplib.c: Add new syntax flags to directive table, and
supporting macros.
* cpphash.h (SYNTAX_INCLUDE, SYNTAX_ASSERT, directive_handler): new.
* cpplib.c: Add new syntax flags to directive table, and
supporting macros.
2000-04-15 Ulrich Drepper <drepper@redhat.com>
@ -225,8 +260,8 @@ Fri Apr 14 10:54:22 2000 Jim Wilson <wilson@cygnus.com>
2000-04-14 Richard Henderson <rth@cygnus.com>
* fold-const.c (extract_muldiv): Don't distribute and widen
multiply across plus for non-sizetype unsigned types.
* fold-const.c (extract_muldiv): Don't distribute and widen
multiply across plus for non-sizetype unsigned types.
2000-04-14 Richard Henderson <rth@cygnus.com>
@ -254,7 +289,7 @@ Thu Apr 13 19:39:56 2000 Clinton Popetz <cpopetz@cygnus.com>
2000-04-13 Andreas Jaeger <aj@suse.de>
* config/mips/mips.c (expand_block_move): Pass alignment
argument to move_by_pieces in bits, not bytes.
argument to move_by_pieces in bits, not bytes.
* config/mips/linux.h (CPP_PREDEFINES): Also define __PIC__ and
__pic__ for little endian.
@ -357,8 +392,8 @@ Wed Apr 12 15:54:11 MET DST 2000 Jan Hubicka <jh@suse.cz>
Wed Apr 12 07:51:54 2000 Catherine Moore <clm@cygnus.com>
* calls.c (emit_library_call_value_1): Change 3rd arg to
locate_and_pad_parm to disregard the setting of partial.
* calls.c (emit_library_call_value_1): Change 3rd arg to
locate_and_pad_parm to disregard the setting of partial.
Wed Apr 12 08:47:38 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
@ -3889,11 +3924,11 @@ Thu Mar 16 02:14:16 2000 Hans-Peter Nilsson <hp@bitrange.com>
2000-01-27 Clinton Popetz <cpopetz@cygnus.com>
* rs6000.c (rs6000_emit_load_toc_table): Use "LCG" and
reload_toc_labelno for non-prologue TOC reloads. Also, don't
increment rs6000_pic_labelno here.
(rs6000_emit_prologue): Pass TRUE to rs6000_emit_load_toc_table,
and increment rs6000_pic_labelno here.
* rs6000.c (rs6000_emit_load_toc_table): Use "LCG" and
reload_toc_labelno for non-prologue TOC reloads. Also, don't
increment rs6000_pic_labelno here.
(rs6000_emit_prologue): Pass TRUE to rs6000_emit_load_toc_table,
and increment rs6000_pic_labelno here.
2000-01-24 Geoffrey Keating <geoffk@cygnus.com>
@ -4072,29 +4107,29 @@ Thu Mar 16 02:14:16 2000 Hans-Peter Nilsson <hp@bitrange.com>
2000-01-07 David Edelsohn <edelsohn@gnu.org>
* rs6000.c (processor_target_table): Add power3 as alias for 630.
* aix43.h: Revert Aug 2 change.
(HAS_INIT_SECTION): Define, not visible yet.
(LD_INIT_SWITCH): Define, not visible yet.
* t-aix43 (MULTILIB_OPTIONS): Revert Aug 2 change.
* rs6000.c (processor_target_table): Add power3 as alias for 630.
* aix43.h: Revert Aug 2 change.
(HAS_INIT_SECTION): Define, not visible yet.
(LD_INIT_SWITCH): Define, not visible yet.
* t-aix43 (MULTILIB_OPTIONS): Revert Aug 2 change.
2000-01-04 Joel Sherrill (joel@OARcorp.com>
* config/rs6000/rtems.h: Include config/rtems.h.
* config/rs6000/rtems.h: Include config/rtems.h.
2000-01-04 David Edelsohn <edelsohn@gnu.org>
* rs6000.h (HANDLE_PRAGMA_PACK): Define.
(SLOW_UNALIGNED_ACCESS): Define.
(CASE_VECTOR_MODE): Always use 32-bit offsets.
(ASM_FILE_END): Generate 64-bit symbol in 64-bit mode.
(EXTRA_SECTOIN_FUNCTIONS): Indent .csect pseudo-op.
(toc_section): Likewise and .toc pseudo-op.
(ASM_DECLARE_FUNCTION): Likewise. Align text more strictly in
64-bit mode.
(TEXT_SECTION_ASM_OP): Likewise.
(ASM_OUTPUT_ADD_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Always use
32-bit offsets.
* rs6000.h (HANDLE_PRAGMA_PACK): Define.
(SLOW_UNALIGNED_ACCESS): Define.
(CASE_VECTOR_MODE): Always use 32-bit offsets.
(ASM_FILE_END): Generate 64-bit symbol in 64-bit mode.
(EXTRA_SECTOIN_FUNCTIONS): Indent .csect pseudo-op.
(toc_section): Likewise and .toc pseudo-op.
(ASM_DECLARE_FUNCTION): Likewise. Align text more strictly in
64-bit mode.
(TEXT_SECTION_ASM_OP): Likewise.
(ASM_OUTPUT_ADD_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Always use
32-bit offsets.
1999-12-17 Jakub Jelinek <jakub@redhat.com>
@ -4111,7 +4146,7 @@ Thu Mar 16 02:14:16 2000 Hans-Peter Nilsson <hp@bitrange.com>
2000-01-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* rs6000.h: Continue cleanup.
* rs6000.h: Continue cleanup.
* aix.h: Likewise.
* lynx.h: Likewise.
* netware.h: Likewise.

View File

@ -1360,7 +1360,7 @@ $(srcdir)/c-parse.y: c-parse.in
$(srcdir)/c-gperf.h: c-parse.gperf
gperf -L C -F ', 0, 0' -p -j1 -i 1 -g -o -t -G -N is_reserved_word \
-k1,3,$$ $(srcdir)/c-parse.gperf >tmp-gperf.h || ( \
echo "See " $(website)/cvs.html#generated_files >&2 ; \
echo "See $(website)/cvs.html#generated_files" >&2 ; \
exit 1 )
$(SHELL) $(srcdir)/move-if-change tmp-gperf.h $(srcdir)/c-gperf.h

View File

@ -1625,7 +1625,7 @@ yylex ()
floatflag = AFTER_EXPON;
break; /* start of exponent */
}
else if (c >= 'a')
else if (c >= 'a' && c <= 'f')
{
c = c - 'a' + 10;
}

View File

@ -10249,10 +10249,13 @@ initialize_char_syntax ()
* refer to them.
*/
for (i = 'a'; i <= 'z'; i++) {
is_idchar[TOUPPER(i)] = 1;
is_idchar[i] = 1;
is_idstart[TOUPPER(i)] = 1;
is_idstart[i] = 1;
/* SKIP EBCIDIC holes, char must be a valid low case char */
if (ISLOWER(i)) {
is_idchar[TOUPPER(i)] = 1;
is_idchar[i] = 1;
is_idstart[TOUPPER(i)] = 1;
is_idstart[i] = 1;
}
}
for (i = '0'; i <= '9'; i++)
is_idchar[i] = 1;

View File

@ -1114,10 +1114,13 @@ initialize_random_junk ()
* refer to them.
*/
for (i = 'a'; i <= 'z'; i++) {
++is_idchar[TOUPPER(i)];
++is_idchar[i];
++is_idstart[TOUPPER(i)];
++is_idstart[i];
/* SKIP EBCIDIC holes, char must be a valid low case char */
if (ISLOWER(i)) {
++is_idchar[TOUPPER(i)];
++is_idchar[i];
++is_idstart[TOUPPER(i)];
++is_idstart[i];
}
}
for (i = '0'; i <= '9'; i++)
++is_idchar[i];

View File

@ -284,7 +284,7 @@ find_include_file (pfile, fname, search_start, ihash, before)
else
{
/* Search directory path, trying to open the file. */
name = alloca (strlen (fname) + pfile->max_include_len
name = (char *) alloca (strlen (fname) + pfile->max_include_len
+ 2 + INCLUDE_LEN_FUDGE);
do
{

View File

@ -795,7 +795,7 @@ initialize_standard_includes (pfile)
These have /usr/local/lib/gcc... replaced by specd_prefix. */
if (specd_prefix != 0)
{
char *default_prefix = alloca (sizeof GCC_INCLUDE_DIR - 7);
char *default_prefix = (char *) alloca (sizeof GCC_INCLUDE_DIR - 7);
/* Remove the `include' from /usr/local/lib/gcc.../include.
GCC_INCLUDE_DIR will always end in /include. */
int default_len = sizeof GCC_INCLUDE_DIR - 8;

View File

@ -1705,7 +1705,7 @@ cpp_define (pfile, str)
if (p)
{
count = strlen (str) + 2;
buf = alloca (count);
buf = (char *) alloca (count);
memcpy (buf, str, count - 2);
buf[p - str] = ' ';
buf[count - 2] = '\n';
@ -1714,7 +1714,7 @@ cpp_define (pfile, str)
else
{
count = strlen (str) + 4;
buf = alloca (count);
buf = (char *) alloca (count);
memcpy (buf, str, count - 4);
strcpy (&buf[count-4], " 1\n");
}
@ -1734,7 +1734,7 @@ cpp_undef (pfile, macro)
{
/* Copy the string so we can append a newline. */
size_t len = strlen (macro);
char *buf = alloca (len + 2);
char *buf = (char *) alloca (len + 2);
memcpy (buf, macro, len);
buf[len] = '\n';
buf[len + 1] = '\0';

View File

@ -80,7 +80,7 @@ do { ASM_OUTPUT_LABEL(FILE,LABEL_ALTERNATE_NAME (INSN)); } while (0)
register int c = p[i]; \
if (c == '\"' || c == '\\') \
putc ('\\', asm_out_file); \
if (c >= ' ' && c < 0177) \
if (ISPRINT(c)) \
putc (c, asm_out_file); \
else \
{ \

View File

@ -3457,8 +3457,7 @@ output_asm_insn (template, operands)
Letters `acln' are implemented directly.
Other letters are passed to `output_operand' so that
the PRINT_OPERAND macro can define them. */
else if ((*p >= 'a' && *p <= 'z')
|| (*p >= 'A' && *p <= 'Z'))
else if (ISLOWER(*p) || ISUPPER(*p))
{
int letter = *p++;
c = atoi (p);

View File

@ -106,6 +106,14 @@ static int count_cond PARAMS ((tree, int));
#define BRANCH_COST 1
#endif
#if defined(HOST_EBCDIC)
/* bit 8 is significant in EBCDIC */
#define CHARMASK 0xff
#else
#define CHARMASK 0x7f
#endif
/* We know that A1 + B1 = SUM1, using 2's complement arithmetic and ignoring
overflow. Suppose A, B and SUM have the same respective signs as A1, B1,
and SUM1. Then this yields nonzero if overflow occurred during the
@ -1091,8 +1099,8 @@ real_hex_to_f (s, mode)
if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F')
|| (c >= 'a' && c <= 'f'))
{
k = c & 0x7f;
if (k >= 'a')
k = c & CHARMASK;
if (k >= 'a' && k <= 'f')
k = k - 'a' + 10;
else if (k >= 'A')
k = k - 'A' + 10;
@ -1137,7 +1145,7 @@ real_hex_to_f (s, mode)
The exponent field is a decimal integer. */
while (ISDIGIT(*p))
{
k = (*p++ & 0x7f) - '0';
k = (*p++ & CHARMASK) - '0';
expon = 10 * expon + k;
}

View File

@ -337,6 +337,13 @@ do { \
/* The exponent of 1.0 */
#define EXONE (0x3fff)
#if defined(HOST_EBCDIC)
/* bit 8 is significant in EBCDIC */
#define CHARMASK 0xff
#else
#define CHARMASK 0x7f
#endif
extern int extra_warnings;
extern unsigned EMUSHORT ezero[], ehalf[], eone[], etwo[];
extern unsigned EMUSHORT elog2[], esqrt2[];
@ -4981,7 +4988,7 @@ etoasc (x, string, ndigs)
/* Round up and propagate carry-outs */
roun:
--s;
k = *s & 0x7f;
k = *s & CHARMASK;
/* Carry out to most significant digit? */
if (k == '.')
{
@ -5142,7 +5149,7 @@ asctoeg (ss, y, oprec)
nxtcom:
if (*s >= '0' && *s <= '9')
k = *s - '0';
else if (*s >= 'a')
else if (*s >= 'a' && *s <= 'f')
k = 10 + *s - 'a';
else
k = 10 + *s - 'A';
@ -5160,7 +5167,7 @@ asctoeg (ss, y, oprec)
|| (*sp >= 'A' && *sp <= 'F'))))
++sp;
/* Check for syntax error */
c = *sp & 0x7f;
c = *sp & CHARMASK;
if ((base != 10 || ((c != 'e') && (c != 'E')))
&& (base != 16 || ((c != 'p') && (c != 'P')))
&& (c != '\0')