svn commit: r260386 - in head/contrib/gperf: doc src

Pedro F. Giffuni pfg at FreeBSD.org
Tue Jan 7 01:40:51 UTC 2014


Author: pfg
Date: Tue Jan  7 01:40:49 2014
New Revision: 260386
URL: http://svnweb.freebsd.org/changeset/base/260386

Log:
  gperf: reverse size_type patch from r258115.
  
  Silencing the broken warning as done in r258139 renders the
  code unreacheable. An option could've been to turn off the
  warnings in gperf but given that the code is not being used
  it is better to just revert the original change altogether.
  
  This code was never MFC'd.

Modified:
  head/contrib/gperf/doc/gperf.1
  head/contrib/gperf/src/options.cc
  head/contrib/gperf/src/options.h
  head/contrib/gperf/src/options.icc
  head/contrib/gperf/src/output.cc

Modified: head/contrib/gperf/doc/gperf.1
==============================================================================
--- head/contrib/gperf/doc/gperf.1	Tue Jan  7 01:32:23 2014	(r260385)
+++ head/contrib/gperf/doc/gperf.1	Tue Jan  7 01:40:49 2014	(r260386)
@@ -1,7 +1,7 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.23.
-.TH GPERF "1" "October 2011" "GNU gperf 3.0.3" FSF
+.TH GPERF "1" "May 2007" "GNU gperf 3.0.3" FSF
 .SH NAME
-gperf \- manual page for gperf 3.0.3
+gperf \- generate a perfect hash function from a key set
 .SH SYNOPSIS
 .B gperf
 [\fIOPTION\fR]... [\fIINPUT-FILE\fR]
@@ -129,10 +129,6 @@ binary search.
 Prevents the transfer of the type declaration to the
 output file. Use this option if the type is already
 defined elsewhere.
-.TP
-\fB\-\-size\-type\fR=\fITYPE\fR
-Specify the type for length parameters. Default type is
-\&'unsigned int'.
 .SS "Algorithm employed by gperf:"
 .TP
 \fB\-k\fR, \fB\-\-key\-positions\fR=\fIKEYS\fR

Modified: head/contrib/gperf/src/options.cc
==============================================================================
--- head/contrib/gperf/src/options.cc	Tue Jan  7 01:32:23 2014	(r260385)
+++ head/contrib/gperf/src/options.cc	Tue Jan  7 01:40:49 2014	(r260386)
@@ -67,8 +67,6 @@ static const char *const DEFAULT_STRINGP
 /* Default delimiters that separate keywords from their attributes.  */
 static const char *const DEFAULT_DELIMITERS = ",";
 
-static const char *const DEFAULT_SIZE_TYPE = "unsigned int";
-
 /* Prints program usage to given stream.  */
 
 void
@@ -204,9 +202,6 @@ Options::long_usage (FILE * stream)
            "                         Prevents the transfer of the type declaration to the\n"
            "                         output file. Use this option if the type is already\n"
            "                         defined elsewhere.\n");
-  fprintf (stream,
-           "      --size-type=TYPE   Specify the type for length parameters. Default type is\n"
-	   "                         'unsigned int'.\n");
   fprintf (stream, "\n");
   fprintf (stream,
            "Algorithm employed by gperf:\n");
@@ -475,7 +470,6 @@ Options::Options ()
     _lengthtable_name (DEFAULT_LENGTHTABLE_NAME),
     _stringpool_name (DEFAULT_STRINGPOOL_NAME),
     _delimiters (DEFAULT_DELIMITERS),
-    _size_type (DEFAULT_SIZE_TYPE),
     _key_positions ()
 {
 }
@@ -520,7 +514,6 @@ Options::~Options ()
                "\nhash table size multiplier = %g"
                "\ninitial associated value = %d"
                "\ndelimiters = %s"
-	       "\nsize type = %s"
                "\nnumber of switch statements = %d\n",
                _option_word & TYPE ? "enabled" : "disabled",
                _option_word & UPPERLOWER ? "enabled" : "disabled",
@@ -546,7 +539,7 @@ Options::~Options ()
                _function_name, _hash_name, _wordlist_name, _lengthtable_name,
                _stringpool_name, _slot_name, _initializer_suffix,
                _asso_iterations, _jump, _size_multiple, _initial_asso_value,
-               _delimiters, _size_type, _total_switches);
+               _delimiters, _total_switches);
       if (_key_positions.is_useall())
         fprintf (stderr, "all characters are used in the hash function\n");
       else
@@ -675,12 +668,6 @@ Options::set_delimiters (const char *del
     _delimiters = delimiters;
 }
 
-void
-Options::set_size_type (const char *size_type)
-{
-  if (_size_type == DEFAULT_SIZE_TYPE) 
-    _size_type = size_type;
-}
 
 /* Parses the command line Options and sets appropriate flags in option_word.  */
 
@@ -706,7 +693,6 @@ static const struct option long_options[
   { "global-table", no_argument, NULL, 'G' },
   { "word-array-name", required_argument, NULL, 'W' },
   { "length-table-name", required_argument, NULL, CHAR_MAX + 4 },
-  { "size-type", required_argument, NULL, CHAR_MAX + 5 },
   { "switch", required_argument, NULL, 'S' },
   { "omit-struct-type", no_argument, NULL, 'T' },
   { "key-positions", required_argument, NULL, 'k' },
@@ -1060,11 +1046,6 @@ warranty; not even for MERCHANTABILITY o
             _lengthtable_name = /*getopt*/optarg;
             break;
           }
-        case CHAR_MAX + 5:      /* Sets the name for the length table array.  */
-          {
-            _size_type = /*getopt*/optarg;
-            break;
-          }
         default:
           short_usage (stderr);
           exit (1);

Modified: head/contrib/gperf/src/options.h
==============================================================================
--- head/contrib/gperf/src/options.h	Tue Jan  7 01:32:23 2014	(r260385)
+++ head/contrib/gperf/src/options.h	Tue Jan  7 01:40:49 2014	(r260386)
@@ -209,9 +209,6 @@ public:
   /* Sets the delimiters string, if not already set.  */
   void                  set_delimiters (const char *delimiters);
 
-  const char *		get_size_type() const;
-  void			set_size_type(const char*);
-
   /* Returns key positions.  */
   const Positions&      get_key_positions () const;
 
@@ -282,8 +279,6 @@ private:
   /* Separates keywords from other attributes.  */
   const char *          _delimiters;
 
-  const char *		_size_type;
-
   /* Contains user-specified key choices.  */
   Positions             _key_positions;
 };

Modified: head/contrib/gperf/src/options.icc
==============================================================================
--- head/contrib/gperf/src/options.icc	Tue Jan  7 01:32:23 2014	(r260385)
+++ head/contrib/gperf/src/options.icc	Tue Jan  7 01:40:49 2014	(r260386)
@@ -155,9 +155,3 @@ Options::get_key_positions () const
 {
   return _key_positions;
 }
-
-INLINE const char *
-Options::get_size_type() const
-{
-	return _size_type;
-}

Modified: head/contrib/gperf/src/output.cc
==============================================================================
--- head/contrib/gperf/src/output.cc	Tue Jan  7 01:32:23 2014	(r260385)
+++ head/contrib/gperf/src/output.cc	Tue Jan  7 01:40:49 2014	(r260386)
@@ -772,14 +772,14 @@ Output::output_hash_function () const
   printf (option[KRC] ?
                  "(str, len)\n"
             "     register char *str;\n"
-            "     register %s len;\n" :
+            "     register unsigned int len;\n" :
           option[C] ?
                  "(str, len)\n"
             "     register const char *str;\n"
-            "     register %s len;\n" :
+            "     register unsigned int len;\n" :
           option[ANSIC] | option[CPLUSPLUS] ?
-                 "(register const char *str, register %s len)\n" :
-          "%s", option.get_size_type());
+                 "(register const char *str, register unsigned int len)\n" :
+          "");
 
   /* Note that when the hash function is called, it has already been verified
      that  min_key_len <= len <= max_key_len.  */
@@ -875,7 +875,7 @@ Output::output_hash_function () const
                   "  switch (%s)\n"
                   "    {\n"
                   "      default:\n",
-                  option[NOLENGTH] ? "0" : "(int)len",
+                  option[NOLENGTH] ? "0" : "len",
                   option[NOLENGTH] ? "len" : "hval");
 
           while (key_pos != Positions::LASTCHAR && key_pos >= _max_key_len)
@@ -1900,14 +1900,14 @@ Output::output_lookup_function () const
   printf (option[KRC] ?
                  "(str, len)\n"
             "     register char *str;\n"
-            "     register %s len;\n" :
+            "     register unsigned int len;\n" :
           option[C] ?
                  "(str, len)\n"
             "     register const char *str;\n"
-            "     register %s len;\n" :
+            "     register unsigned int len;\n" :
           option[ANSIC] | option[CPLUSPLUS] ?
-                 "(register const char *str, register %s len)\n" :
-          "%s", option.get_size_type());
+                 "(register const char *str, register unsigned int len)\n" :
+          "");
 
   /* Output the function's body.  */
   printf ("{\n");
@@ -2074,14 +2074,13 @@ Output::output ()
     printf ("class %s\n"
             "{\n"
             "private:\n"
-            "  static inline unsigned int %s (const char *str, %s len);\n"
+            "  static inline unsigned int %s (const char *str, unsigned int len);\n"
             "public:\n"
-            "  static %s%s%s (const char *str, %s len);\n"
+            "  static %s%s%s (const char *str, unsigned int len);\n"
             "};\n"
             "\n",
-            option.get_class_name (), option.get_hash_name (), option.get_size_type(),
-            const_for_struct, _return_type, option.get_function_name (),
-	    option.get_size_type());
+            option.get_class_name (), option.get_hash_name (),
+            const_for_struct, _return_type, option.get_function_name ());
 
   output_hash_function ();
 


More information about the svn-src-all mailing list