From patchwork Tue May 12 07:50:28 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marko Myllynen X-Patchwork-Id: 471185 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 042B0140D16 for ; Tue, 12 May 2015 17:50:44 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=sourceware.org header.i=@sourceware.org header.b=yCj/PnNe; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:date:from:reply-to:mime-version:to :subject:content-type:content-transfer-encoding; q=dns; s= default; b=xWQzCUw4Q4Jh2d4K/tUTYdI/f9Ki/hUcOhVNNeZRTuRgDEfhGsxcc 5AKXj6EsOk+acRn6Ctq0tt0S3sMjGlpwH5xl/34uSyiGm3om6xdWjnIJV5mANfF0 DAWwiBdqFA0+Gg6MC/bW25a8KyvczG7FF0XDnF09vSVQeGCxyBaOOY= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:date:from:reply-to:mime-version:to :subject:content-type:content-transfer-encoding; s=default; bh=n PCoomgEov1TKxps13r/IFdZwog=; b=yCj/PnNecQROzkOkbdsxsH5h92+915HiE sL7EYlIMCzZsLfpWEwOJwpgLYZlkxG4wpyx0qoEefc2aCpU7/STiMtGTuLg6qex8 at6zT/AKcxkXZ2/Q1dmugqj2jk+0U3ZXiFZ9F99lgnLc/irjX9r4Q6Vc9W7QwpI/ K2q7B0fK58= Received: (qmail 88841 invoked by alias); 12 May 2015 07:50:36 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 88827 invoked by uid 89); 12 May 2015 07:50:36 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.5 required=5.0 tests=AWL, BAYES_00, KAM_LAZY_DOMAIN_SECURITY, SPF_HELO_PASS, T_RP_MATCHES_RCVD autolearn=no version=3.3.2 X-HELO: mx1.redhat.com Message-ID: <5551B0C4.80903@redhat.com> Date: Tue, 12 May 2015 10:50:28 +0300 From: Marko Myllynen Reply-To: myllynen@redhat.com User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: GNU C Library Subject: [PATCH] Remove unused PREDEFINED_CLASSES code Hi, AFAICS PREDEFINED_CLASSES is never defined thus the code is unused. It would seem that the code is related to LO_LTYPE which was discussed in the past but there are no any recent references: http://pubs.opengroup.org/onlinepubs/9638399/loltype.htm Patch below, compiles and passes make check. 2015-05-12 Marko Myllynen * locale/C-ctype.c (PREDEFINED_CLASSES): Remove. * locale/programs/ld-ctype.c: Likewise. --- locale/C-ctype.c | 17 +-------- locale/programs/ld-ctype.c | 81 ++----------------------------------------- 2 files changed, 6 insertions(+), 92 deletions(-) diff --git a/locale/C-ctype.c b/locale/C-ctype.c index 7c616d8..aa5f19f 100644 --- a/locale/C-ctype.c +++ b/locale/C-ctype.c @@ -569,22 +569,9 @@ const struct __locale_data _nl_C_LC_CTYPE attribute_hidden = { .string = NULL }, /* _NL_CTYPE_CLASS_NAMES */ { .string = "upper\0" "lower\0" "alpha\0" "digit\0" "xdigit\0" "space\0" - "print\0" "graph\0" "blank\0" "cntrl\0" "punct\0" "alnum\0" -#ifdef PREDEFINED_CLASSES - "left_to_right\0" "right_to_left\0" "num_terminator\0" - "num_separator\0" "segment_separator\0" "block_separator\0" - "direction_control\0" "sym_swap_layout\0" "char_shape_selector\0" - "num_shape_selector\0" "non_spacing\0" "non_spacing_level3\0" - "r_connect\0" "no_connect\0" "no_connect-space\0" - "vowel_connect\0" -#endif - }, + "print\0" "graph\0" "blank\0" "cntrl\0" "punct\0" "alnum\0" }, /* _NL_CTYPE_MAP_NAMES */ - { .string = "toupper\0" "tolower\0" -#ifdef PREDEFINED_CLASSES - "tosymmetric\0" -#endif - }, + { .string = "toupper\0" "tolower\0" }, /* _NL_CTYPE_WIDTH */ { .string = (const char *) _nl_C_LC_CTYPE_width.header }, /* _NL_CTYPE_MB_CUR_MAX */ diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c index e8690f3..3f464ef 100644 --- a/locale/programs/ld-ctype.c +++ b/locale/programs/ld-ctype.c @@ -43,15 +43,6 @@ #include -#ifdef PREDEFINED_CLASSES -/* These are the extra bits not in wctype.h since these are not preallocated - classes. */ -# define _ISwspecial1 (1 << 29) -# define _ISwspecial2 (1 << 30) -# define _ISwspecial3 (1 << 31) -#endif - - /* The bit used for representing a special class. */ #define BITPOS(class) ((class) - tok_upper) #define BIT(class) (_ISbit (BITPOS (class))) @@ -337,26 +328,6 @@ ctype_startup (struct linereader *lr, struct localedef_t *locale, ctype_class_new (lr, ctype, "cntrl"); ctype_class_new (lr, ctype, "punct"); ctype_class_new (lr, ctype, "alnum"); -#ifdef PREDEFINED_CLASSES - /* The following are extensions from ISO 14652. */ - ctype_class_new (lr, ctype, "left_to_right"); - ctype_class_new (lr, ctype, "right_to_left"); - ctype_class_new (lr, ctype, "num_terminator"); - ctype_class_new (lr, ctype, "num_separator"); - ctype_class_new (lr, ctype, "segment_separator"); - ctype_class_new (lr, ctype, "block_separator"); - ctype_class_new (lr, ctype, "direction_control"); - ctype_class_new (lr, ctype, "sym_swap_layout"); - ctype_class_new (lr, ctype, "char_shape_selector"); - ctype_class_new (lr, ctype, "num_shape_selector"); - ctype_class_new (lr, ctype, "non_spacing"); - ctype_class_new (lr, ctype, "non_spacing_level3"); - ctype_class_new (lr, ctype, "normal_connect"); - ctype_class_new (lr, ctype, "r_connect"); - ctype_class_new (lr, ctype, "no_connect"); - ctype_class_new (lr, ctype, "no_connect-space"); - ctype_class_new (lr, ctype, "vowel_connect"); -#endif ctype->class_collection_max = charmap->mb_cur_max == 1 ? 256 : 512; ctype->class_collection @@ -368,18 +339,13 @@ ctype_startup (struct linereader *lr, struct localedef_t *locale, ctype->last_map_idx = MAX_NR_CHARMAP; ctype_map_new (lr, ctype, "toupper", charmap); ctype_map_new (lr, ctype, "tolower", charmap); -#ifdef PREDEFINED_CLASSES - ctype_map_new (lr, ctype, "tosymmetric", charmap); -#endif /* Fill first 256 entries in `toXXX' arrays. */ for (cnt = 0; cnt < 256; ++cnt) { ctype->map_collection[0][cnt] = cnt; ctype->map_collection[1][cnt] = cnt; -#ifdef PREDEFINED_CLASSES - ctype->map_collection[2][cnt] = cnt; -#endif + ctype->map256_collection[0][cnt] = cnt; ctype->map256_collection[1][cnt] = cnt; } @@ -2269,24 +2235,10 @@ ctype_read (struct linereader *ldfile, struct localedef_t *result, break; if (cnt >= ctype->nr_charclass) { -#ifdef PREDEFINED_CLASSES - if (now->val.str.lenmb == 8 - && memcmp ("special1", now->val.str.startmb, 8) == 0) - class_bit = _ISwspecial1; - else if (now->val.str.lenmb == 8 - && memcmp ("special2", now->val.str.startmb, 8) == 0) - class_bit = _ISwspecial2; - else if (now->val.str.lenmb == 8 - && memcmp ("special3", now->val.str.startmb, 8) == 0) - class_bit = _ISwspecial3; - else -#endif - { - /* OK, it's a new class. */ - ctype_class_new (ldfile, ctype, now->val.str.startmb); + /* OK, it's a new class. */ + ctype_class_new (ldfile, ctype, now->val.str.startmb); - class_bit = _ISwbit (ctype->nr_charclass - 1); - } + class_bit = _ISwbit (ctype->nr_charclass - 1); } else { @@ -2874,31 +2826,6 @@ previous definition was here"))); free (now->val.str.startmb); goto read_mapping; } -#ifdef PREDEFINED_CLASSES - if (strcmp (now->val.str.startmb, "special1") == 0) - { - class_bit = _ISwspecial1; - free (now->val.str.startmb); - goto read_charclass; - } - if (strcmp (now->val.str.startmb, "special2") == 0) - { - class_bit = _ISwspecial2; - free (now->val.str.startmb); - goto read_charclass; - } - if (strcmp (now->val.str.startmb, "special3") == 0) - { - class_bit = _ISwspecial3; - free (now->val.str.startmb); - goto read_charclass; - } - if (strcmp (now->val.str.startmb, "tosymmetric") == 0) - { - mapidx = 2; - goto read_mapping; - } -#endif break; case tok_end: