From: Jarkko Hietaniemi Date: Wed, 23 Jan 2002 03:11:31 +0000 (+0000) Subject: AIX cpp bug: having macro arguments and character constants X-Git-Tag: accepted/trunk/20130322.191538~28288 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=07b6858f7b917ea2a8165266f68294a3b41bf5ce;p=platform%2Fupstream%2Fperl.git AIX cpp bug: having macro arguments and character constants "the same" means trouble (here s and 's') What broke now was 841 and 842 of t/op/pat.t, because of the ANYOF_UNICODE_FOLD_SHARP_S() in utf8.h, ccversion 5.0.1.0 (note that breakage happened only under cc_r and usethreads+ useithreads) p4raw-id: //depot/perl@14379 --- diff --git a/utf8.h b/utf8.h index 2ac5f91..c1c69d2 100644 --- a/utf8.h +++ b/utf8.h @@ -199,10 +199,10 @@ END_EXTERN_C #define UNI_DISPLAY_QQ (UNI_DISPLAY_ISPRINT|UNI_DISPLAY_BACKSLASH) #define UNI_DISPLAY_REGEX (UNI_DISPLAY_ISPRINT|UNI_DISPLAY_BACKSLASH) -#define ANYOF_UNICODE_FOLD_SHARP_S(n, s, e) \ - (ANYOF_BITMAP_TEST(n, UNICODE_LATIN_SMALL_LETTER_SHARP_S) && \ - ANYOF_FLAGS(n) & ANYOF_UNICODE && \ - ANYOF_FLAGS(n) & ANYOF_FOLD && \ - ((e) > (s) + 1) && \ - toLOWER((s)[0]) == 's' && \ - toLOWER((s)[1]) == 's') +#define ANYOF_UNICODE_FOLD_SHARP_S(node, input, end) \ + (ANYOF_BITMAP_TEST(node, UNICODE_LATIN_SMALL_LETTER_SHARP_S) && \ + (ANYOF_FLAGS(node) & ANYOF_UNICODE) && \ + (ANYOF_FLAGS(node) & ANYOF_FOLD) && \ + ((end) > (input) + 1) && \ + toLOWER((input)[0]) == 's' && \ + toLOWER((input)[1]) == 's')