From ce1bb65b4d2b2d4aa2a4abebbfa3b4dd50395600 Mon Sep 17 00:00:00 2001 From: Zack Weinberg Date: Tue, 8 Jul 2003 15:10:16 +0000 Subject: [PATCH] system.h: Poison MAP_CHARACTER. * system.h: Poison MAP_CHARACTER. * config/i370/i370-protos.h (mvs_map_char): Delete. * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete. * config/i370/i370.h (MAP_CHARACTER): Delete definition. (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER. f: * lex.c: Remove error block #ifdef MAP_CHARACTER. From-SVN: r69086 --- gcc/ChangeLog | 8 ++ gcc/config/i370/i370-protos.h | 1 - gcc/config/i370/i370.c | 147 ---------------------------------- gcc/config/i370/i370.h | 12 --- gcc/f/ChangeLog | 4 + gcc/f/lex.c | 5 -- gcc/system.h | 2 +- 7 files changed, 13 insertions(+), 166 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 44b946beef5c..b78e6860c72d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2003-07-08 Zack Weinberg + + * system.h: Poison MAP_CHARACTER. + * config/i370/i370-protos.h (mvs_map_char): Delete. + * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete. + * config/i370/i370.h (MAP_CHARACTER): Delete definition. + (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER. + 2003-07-08 Danny Smith * toplev.c (randomize): Correct call to time(). diff --git a/gcc/config/i370/i370-protos.h b/gcc/config/i370/i370-protos.h index c2cd0ea3e549..29737aa4f807 100644 --- a/gcc/config/i370/i370-protos.h +++ b/gcc/config/i370/i370-protos.h @@ -39,7 +39,6 @@ extern int unsigned_jump_follows_p PARAMS ((rtx)); extern int handle_pragma PARAMS ((int (*)(void), void (*)(int), const char *)); #endif /* TREE_CODE */ -extern char mvs_map_char PARAMS ((int)); extern void mvs_add_label PARAMS ((int)); extern int mvs_check_label PARAMS ((int)); extern int mvs_check_page PARAMS ((FILE *, int, int)); diff --git a/gcc/config/i370/i370.c b/gcc/config/i370/i370.c index ee9e8608c77e..b5ad7ceb1677 100644 --- a/gcc/config/i370/i370.c +++ b/gcc/config/i370/i370.c @@ -176,131 +176,6 @@ static const char *const mvs_function_table[MVS_FUNCTION_TABLE_LENGTH] = #endif /* TARGET_HLASM */ /* ===================================================== */ -#if defined(TARGET_EBCDIC) && HOST_CHARSET == HOST_CHARSET_ASCII -/* ASCII to EBCDIC conversion table. */ -static const unsigned char ascebc[256] = -{ - /*00 NL SH SX EX ET NQ AK BL */ - 0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, - /*08 BS HT LF VT FF CR SO SI */ - 0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, - /*10 DL D1 D2 D3 D4 NK SN EB */ - 0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26, - /*18 CN EM SB EC FS GS RS US */ - 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F, - /*20 SP ! " # $ % & ' */ - 0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, - /*28 ( ) * + , - . / */ - 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61, - /*30 0 1 2 3 4 5 6 7 */ - 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, - /*38 8 9 : ; < = > ? */ - 0xF8, 0xF9, 0x7A, 0x5E, 0x4C, 0x7E, 0x6E, 0x6F, - /*40 @ A B C D E F G */ - 0x7C, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, - /*48 H I J K L M N O */ - 0xC8, 0xC9, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, - /*50 P Q R S T U V W */ - 0xD7, 0xD8, 0xD9, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, - /*58 X Y Z [ \ ] ^ _ */ - 0xE7, 0xE8, 0xE9, 0xAD, 0xE0, 0xBD, 0x5F, 0x6D, - /*60 ` a b c d e f g */ - 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, - /*68 h i j k l m n o */ - 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, - /*70 p q r s t u v w */ - 0x97, 0x98, 0x99, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, - /*78 x y z { | } ~ DL */ - 0xA7, 0xA8, 0xA9, 0xC0, 0x4F, 0xD0, 0xA1, 0x07, - 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, - 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0xFF -}; -#endif /* target EBCDIC, host ASCII */ - -#if !defined(TARGET_EBCDIC) && HOST_CHARSET == HOST_CHARSET_EBCDIC -/* EBCDIC to ASCII conversion table. */ -static const unsigned char ebcasc[256] = -{ - /*00 NU SH SX EX PF HT LC DL */ - 0x00, 0x01, 0x02, 0x03, 0x00, 0x09, 0x00, 0x7F, - /*08 SM VT FF CR SO SI */ - 0x00, 0x00, 0x00, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, - /*10 DE D1 D2 TM RS NL BS IL */ - 0x10, 0x11, 0x12, 0x13, 0x14, 0x0A, 0x08, 0x00, - /*18 CN EM CC C1 FS GS RS US */ - 0x18, 0x19, 0x00, 0x00, 0x1C, 0x1D, 0x1E, 0x1F, - /*20 DS SS FS BP LF EB EC */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x17, 0x1B, - /*28 SM C2 EQ AK BL */ - 0x00, 0x00, 0x00, 0x00, 0x05, 0x06, 0x07, 0x00, - /*30 SY PN RS UC ET */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, - /*38 C3 D4 NK SU */ - 0x00, 0x00, 0x00, 0x00, 0x14, 0x15, 0x00, 0x1A, - /*40 SP */ - 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*48 . < ( + | */ - 0x00, 0x00, 0x00, 0x2E, 0x3C, 0x28, 0x2B, 0x7C, - /*50 & */ - 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*58 ! $ * ) ; ^ */ - 0x00, 0x00, 0x21, 0x24, 0x2A, 0x29, 0x3B, 0x5E, - /*60 - / */ - 0x2D, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*68 , % _ > ? */ - 0x00, 0x00, 0x00, 0x2C, 0x25, 0x5F, 0x3E, 0x3F, - /*70 */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*78 ` : # @ ' = " */ - 0x00, 0x60, 0x3A, 0x23, 0x40, 0x27, 0x3D, 0x22, - /*80 a b c d e f g */ - 0x00, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, - /*88 h i { */ - 0x68, 0x69, 0x00, 0x7B, 0x00, 0x00, 0x00, 0x00, - /*90 j k l m n o p */ - 0x00, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, - /*98 q r } */ - 0x71, 0x72, 0x00, 0x7D, 0x00, 0x00, 0x00, 0x00, - /*A0 ~ s t u v w x */ - 0x00, 0x7E, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, - /*A8 y z [ */ - 0x79, 0x7A, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, - /*B0 */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*B8 ] */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, - /*C0 { A B C D E F G */ - 0x7B, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, - /*C8 H I */ - 0x48, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*D0 } J K L M N O P */ - 0x7D, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, - /*D8 Q R */ - 0x51, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*E0 \ S T U V W X */ - 0x5C, 0x00, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, - /*E8 Y Z */ - 0x59, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - /*F0 0 1 2 3 4 5 6 7 */ - 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, - /*F8 8 9 */ - 0x38, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF -}; -#endif /* target ASCII, host EBCDIC */ /* Initialize the GCC target structure. */ #ifdef TARGET_HLASM @@ -342,28 +217,6 @@ override_options () real_format_for_mode[DFmode - QFmode] = &i370_double_format; } - -/* Map characters from one character set to another. - C is the character to be translated. */ - -char -mvs_map_char (c) - int c; -{ -#if defined(TARGET_EBCDIC) && HOST_CHARSET == HOST_CHARSET_ASCII - fprintf (stderr, "mvs_map_char: TE & !HE: c = %02x\n", c); - return ascebc[c]; -#else -#if !defined(TARGET_EBCDIC) && HOST_CHARSET == HOST_CHARSET_EBCDIC - fprintf (stderr, "mvs_map_char: !TE & HE: c = %02x\n", c); - return ebcasc[c]; -#else - fprintf (stderr, "mvs_map_char: !TE & !HE: c = %02x\n", c); - return c; -#endif -#endif -} - /* ===================================================== */ /* The following three routines are used to determine whther forward branch is on this page, or is a far jump. We use diff --git a/gcc/config/i370/i370.h b/gcc/config/i370/i370.h index d7933c178cd4..8c0a1961672f 100644 --- a/gcc/config/i370/i370.h +++ b/gcc/config/i370/i370.h @@ -137,17 +137,6 @@ extern size_t mvs_function_name_length; #define TARGET_FLOAT_FORMAT IBM_FLOAT_FORMAT -/* Define character mapping for cross-compiling. */ -/* but only define it if really needed, since otherwise it will break builds */ - -#ifdef TARGET_EBCDIC -#if HOST_CHARSET == HOST_CHARSET_EBCDIC -#define MAP_CHARACTER(c) ((char)(c)) -#else -#define MAP_CHARACTER(c) ((char)mvs_map_char (c)) -#endif -#endif - #ifdef TARGET_HLASM /* HLASM requires #pragma map. */ #define REGISTER_TARGET_PRAGMAS() c_register_pragma (0, "map", i370_pr_map) @@ -1131,7 +1120,6 @@ enum reg_class if (j % MVS_ASCII_TEXT_LENGTH != 0 ) \ fprintf (FILE, "'\n"); \ j = -1; \ - if (c == '&') c = MAP_CHARACTER (c); \ fprintf (FILE, "\tDC\tX'%X'\n", c ); \ } \ else \ diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog index b75edc693b59..8a7b7579ff7c 100644 --- a/gcc/f/ChangeLog +++ b/gcc/f/ChangeLog @@ -1,3 +1,7 @@ +2003-07-08 Zack Weinberg + + * lex.c: Remove error block #ifdef MAP_CHARACTER. + Mon Jul 7 18:13:22 2003 Nathan Sidwell * com.c (bison_rule_pushlevel_, bison_rule_compstmt_): Adjust diff --git a/gcc/f/lex.c b/gcc/f/lex.c index 478d76777cad..4d0429fe0e8e 100644 --- a/gcc/f/lex.c +++ b/gcc/f/lex.c @@ -219,11 +219,6 @@ ffelex_append_to_token_ (char c) ffelex_token_->size <<= 1; assert (ffelex_token_->length < ffelex_token_->size); } -#ifdef MAP_CHARACTER -Sorry, MAP_CHARACTER is not going to work as expected in GNU Fortran, -please contact fortran@gnu.org if you wish to fund work to -port g77 to non-ASCII machines. -#endif ffelex_token_->text[ffelex_token_->length++] = c; } diff --git a/gcc/system.h b/gcc/system.h index adfb90ef8b5b..3a7e18038a70 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -609,7 +609,7 @@ typedef char _Bool; DBX_LBRAC_FIRST DBX_OUTPUT_ENUM DBX_OUTPUT_SOURCE_FILENAME \ DBX_WORKING_DIRECTORY INSN_CACHE_DEPTH INSN_CACHE_SIZE \ INSN_CACHE_LINE_WIDTH INIT_SECTION_PREAMBLE NEED_ATEXIT ON_EXIT \ - EXIT_BODY OBJECT_FORMAT_ROSE MULTIBYTE_CHARS + EXIT_BODY OBJECT_FORMAT_ROSE MULTIBYTE_CHARS MAP_CHARACTER /* Hooks that are no longer used. */ #pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \ -- 2.43.5