diff mbox

Remove unused PREDEFINED_CLASSES code

Message ID 5551B0C4.80903@redhat.com
State New
Headers show

Commit Message

Marko Myllynen May 12, 2015, 7:50 a.m. UTC
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  <myllynen@redhat.com>

	* 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(-)

Comments

Ondřej Bílka May 13, 2015, 10:12 a.m. UTC | #1
On Tue, May 12, 2015 at 10:50:28AM +0300, Marko Myllynen wrote:
> 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.
> 
ok for me.
Marko Myllynen June 3, 2015, 3:59 p.m. UTC | #2
Hi,

Ondřej acked this on 2015-05-13, could someone please check it in?

Thanks,

On 2015-05-12 10:50, Marko Myllynen wrote:
> 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  <myllynen@redhat.com>
> 
> 	* 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 <assert.h>
>  
>  
> -#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:
>
Siddhesh Poyarekar June 3, 2015, 5:40 p.m. UTC | #3
On Wed, Jun 03, 2015 at 06:59:16PM +0300, Marko Myllynen wrote:
> Hi,
> 
> Ondřej acked this on 2015-05-13, could someone please check it in?

Ondrej, could you please check this in for Marko?

Thanks,
Siddhesh
diff mbox

Patch

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 <assert.h>
 
 
-#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: