From 7bfeb1c2ae50933cf5fb53f60974358e35448e4e Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 23 Mar 2016 02:44:54 +0000 Subject: remove SIGN_EXTEND_CHAR macro * marshal.c (r_long): cast to `signed char`, which is used already, instead of SIGN_EXTEND_CHAR. * parse.y: SIGN_EXTEND_CHAR is no longer used. [Fix GH-1302] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ marshal.c | 10 +--------- parse.y | 12 ------------ 3 files changed, 8 insertions(+), 21 deletions(-) diff --git a/ChangeLog b/ChangeLog index 060e60c5e2..4bac253cd0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Wed Mar 23 11:44:53 2016 cremno + + * marshal.c (r_long): cast to `signed char`, which is used + already, instead of SIGN_EXTEND_CHAR. + + * parse.y: SIGN_EXTEND_CHAR is no longer used. [Fix GH-1302] + Wed Mar 23 11:38:47 2016 Nobuyoshi Nakada * cygwin/GNUmakefile.in (MSYS2_ARG_CONV_EXCL_PARAM): diff --git a/marshal.c b/marshal.c index 054b2aad0c..3560cb5d80 100644 --- a/marshal.c +++ b/marshal.c @@ -1174,19 +1174,11 @@ long_toobig(int size) STRINGIZE(SIZEOF_LONG)", given %d)", size); } -#undef SIGN_EXTEND_CHAR -#if __STDC__ -# define SIGN_EXTEND_CHAR(c) ((signed char)(c)) -#else /* not __STDC__ */ -/* As in Harbison and Steele. */ -# define SIGN_EXTEND_CHAR(c) ((((unsigned char)(c)) ^ 128) - 128) -#endif - static long r_long(struct load_arg *arg) { register long x; - int c = SIGN_EXTEND_CHAR(r_byte(arg)); + int c = (signed char)r_byte(arg); long i; if (c == 0) return 0; diff --git a/parse.y b/parse.y index cb2ae70f31..3f2a4d2c30 100644 --- a/parse.y +++ b/parse.y @@ -5327,18 +5327,6 @@ ripper_dispatch_delayed_token(struct parser_params *parser, int t) #include "ruby/regex.h" #include "ruby/util.h" -/* We remove any previous definition of `SIGN_EXTEND_CHAR', - since ours (we hope) works properly with all combinations of - machines, compilers, `char' and `unsigned char' argument types. - (Per Bothner suggested the basic approach.) */ -#undef SIGN_EXTEND_CHAR -#if __STDC__ -# define SIGN_EXTEND_CHAR(c) ((signed char)(c)) -#else /* not __STDC__ */ -/* As in Harbison and Steele. */ -# define SIGN_EXTEND_CHAR(c) ((((unsigned char)(c)) ^ 128) - 128) -#endif - #define parser_encoding_name() (current_enc->name) #define parser_mbclen() mbclen((lex_p-1),lex_pend,current_enc) #define parser_precise_mbclen() rb_enc_precise_mbclen((lex_p-1),lex_pend,current_enc) -- cgit v1.2.3