Imported Upstream version 3.5.1
[platform/upstream/ccache.git] / src / confitems_lookup.c
index b8f6869..02a6efd 100644 (file)
@@ -1,4 +1,4 @@
-/* ANSI-C code produced by gperf version 3.0.4 */
+/* ANSI-C code produced by gperf version 3.1 */
 /* Command-line: gperf src/confitems.gperf  */
 /* Computed positions: -k'1-2' */
 
       && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
       && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
 /* The character set is not based on ISO-646.  */
-#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
 #endif
 
 #line 8 "src/confitems.gperf"
+
+#include "confitems.h"
+#include "conf.h"
+
+#undef bool
+#define ITEM_ENTRY(name, type, verify_fn) \
+       offsetof(struct conf, name), confitem_parse_ ## type, \
+       confitem_format_ ## type, verify_fn
+#define ITEM(name, type) \
+       ITEM_ENTRY(name, type, NULL)
+#define ITEM_V(name, type, verification) \
+       ITEM_ENTRY(name, type, confitem_verify_ ## verification)
+#line 21 "src/confitems.gperf"
 struct conf_item;
 /* maximum key range = 48, duplicates = 0 */
 
@@ -41,7 +54,7 @@ inline
 #endif
 #endif
 static unsigned int
-confitems_hash (register const char *str, register unsigned int len)
+confitems_hash (register const char *str, register size_t len)
 {
   static const unsigned char asso_values[] =
     {
@@ -75,15 +88,8 @@ confitems_hash (register const char *str, register unsigned int len)
   return len + asso_values[(unsigned char)str[1]] + asso_values[(unsigned char)str[0]];
 }
 
-static
-#ifdef __GNUC__
-__inline
-#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
-__attribute__ ((__gnu_inline__))
-#endif
-#endif
 const struct conf_item *
-confitems_get (register const char *str, register unsigned int len)
+confitems_get (register const char *str, register size_t len)
 {
   enum
     {
@@ -96,92 +102,92 @@ confitems_get (register const char *str, register unsigned int len)
 
   static const struct conf_item wordlist[] =
     {
-      {"",0,NULL,0,NULL,NULL}, {"",0,NULL,0,NULL,NULL},
-      {"",0,NULL,0,NULL,NULL}, {"",0,NULL,0,NULL,NULL},
-#line 30 "src/confitems.gperf"
+      {"",0,0,NULL,NULL,NULL}, {"",0,0,NULL,NULL,NULL},
+      {"",0,0,NULL,NULL,NULL}, {"",0,0,NULL,NULL,NULL},
+#line 43 "src/confitems.gperf"
       {"path",                20, ITEM(path, env_string)},
-      {"",0,NULL,0,NULL,NULL}, {"",0,NULL,0,NULL,NULL},
-      {"",0,NULL,0,NULL,NULL},
-#line 13 "src/confitems.gperf"
+      {"",0,0,NULL,NULL,NULL}, {"",0,0,NULL,NULL,NULL},
+      {"",0,0,NULL,NULL,NULL},
+#line 26 "src/confitems.gperf"
       {"compiler",             3, ITEM(compiler, string)},
-#line 11 "src/confitems.gperf"
+#line 24 "src/confitems.gperf"
       {"cache_dir",            1, ITEM(cache_dir, env_string)},
-      {"",0,NULL,0,NULL,NULL},
-#line 15 "src/confitems.gperf"
+      {"",0,0,NULL,NULL,NULL},
+#line 28 "src/confitems.gperf"
       {"compression",          5, ITEM(compression, bool)},
-      {"",0,NULL,0,NULL,NULL},
-#line 17 "src/confitems.gperf"
+      {"",0,0,NULL,NULL,NULL},
+#line 30 "src/confitems.gperf"
       {"cpp_extension",        7, ITEM(cpp_extension, string)},
-#line 14 "src/confitems.gperf"
+#line 27 "src/confitems.gperf"
       {"compiler_check",       4, ITEM(compiler_check, string)},
-#line 18 "src/confitems.gperf"
+#line 31 "src/confitems.gperf"
       {"debug",                8, ITEM(debug, bool)},
-#line 12 "src/confitems.gperf"
+#line 25 "src/confitems.gperf"
       {"cache_dir_levels",     2, ITEM_V(cache_dir_levels, unsigned, dir_levels)},
-#line 16 "src/confitems.gperf"
+#line 29 "src/confitems.gperf"
       {"compression_level",    6, ITEM(compression_level, unsigned)},
-#line 27 "src/confitems.gperf"
+#line 40 "src/confitems.gperf"
       {"log_file",            17, ITEM(log_file, env_string)},
-#line 32 "src/confitems.gperf"
+#line 45 "src/confitems.gperf"
       {"prefix_command",      22, ITEM(prefix_command, env_string)},
-#line 39 "src/confitems.gperf"
+#line 52 "src/confitems.gperf"
       {"stats",               29, ITEM(stats, bool)},
-#line 31 "src/confitems.gperf"
+#line 44 "src/confitems.gperf"
       {"pch_external_checksum", 21, ITEM(pch_external_checksum, bool)},
-#line 36 "src/confitems.gperf"
+#line 49 "src/confitems.gperf"
       {"recache",             26, ITEM(recache, bool)},
-#line 33 "src/confitems.gperf"
+#line 46 "src/confitems.gperf"
       {"prefix_command_cpp",  23, ITEM(prefix_command_cpp, env_string)},
-#line 34 "src/confitems.gperf"
+#line 47 "src/confitems.gperf"
       {"read_only",           24, ITEM(read_only, bool)},
-#line 38 "src/confitems.gperf"
+#line 51 "src/confitems.gperf"
       {"sloppiness",          28, ITEM(sloppiness, sloppiness)},
-      {"",0,NULL,0,NULL,NULL},
-#line 25 "src/confitems.gperf"
+      {"",0,0,NULL,NULL,NULL},
+#line 38 "src/confitems.gperf"
       {"keep_comments_cpp",   15, ITEM(keep_comments_cpp, bool)},
-#line 29 "src/confitems.gperf"
+#line 42 "src/confitems.gperf"
       {"max_size",            19, ITEM(max_size, size)},
-#line 28 "src/confitems.gperf"
+#line 41 "src/confitems.gperf"
       {"max_files",           18, ITEM(max_files, unsigned)},
-#line 42 "src/confitems.gperf"
+#line 55 "src/confitems.gperf"
       {"unify",               32, ITEM(unify, bool)},
-#line 35 "src/confitems.gperf"
+#line 48 "src/confitems.gperf"
       {"read_only_direct",    25, ITEM(read_only_direct, bool)},
-#line 20 "src/confitems.gperf"
+#line 33 "src/confitems.gperf"
       {"disable",             10, ITEM(disable, bool)},
-#line 40 "src/confitems.gperf"
+#line 53 "src/confitems.gperf"
       {"temporary_dir",       30, ITEM(temporary_dir, env_string)},
-#line 37 "src/confitems.gperf"
+#line 50 "src/confitems.gperf"
       {"run_second_cpp",      27, ITEM(run_second_cpp, bool)},
-      {"",0,NULL,0,NULL,NULL},
-#line 19 "src/confitems.gperf"
+      {"",0,0,NULL,NULL,NULL},
+#line 32 "src/confitems.gperf"
       {"direct_mode",          9, ITEM(direct_mode, bool)},
-      {"",0,NULL,0,NULL,NULL},
-#line 23 "src/confitems.gperf"
+      {"",0,0,NULL,NULL,NULL},
+#line 36 "src/confitems.gperf"
       {"hash_dir",            13, ITEM(hash_dir, bool)},
-#line 22 "src/confitems.gperf"
+#line 35 "src/confitems.gperf"
       {"hard_link",           12, ITEM(hard_link, bool)},
-#line 41 "src/confitems.gperf"
+#line 54 "src/confitems.gperf"
       {"umask",               31, ITEM(umask, umask)},
-      {"",0,NULL,0,NULL,NULL}, {"",0,NULL,0,NULL,NULL},
-#line 10 "src/confitems.gperf"
+      {"",0,0,NULL,NULL,NULL}, {"",0,0,NULL,NULL,NULL},
+#line 23 "src/confitems.gperf"
       {"base_dir",             0, ITEM_V(base_dir, env_string, absolute_path)},
-#line 21 "src/confitems.gperf"
+#line 34 "src/confitems.gperf"
       {"extra_files_to_hash", 11, ITEM(extra_files_to_hash, env_string)},
-      {"",0,NULL,0,NULL,NULL}, {"",0,NULL,0,NULL,NULL},
-      {"",0,NULL,0,NULL,NULL}, {"",0,NULL,0,NULL,NULL},
-#line 26 "src/confitems.gperf"
-      {"limit_multiple",      16, ITEM(limit_multiple, float)},
-      {"",0,NULL,0,NULL,NULL},
-#line 24 "src/confitems.gperf"
+      {"",0,0,NULL,NULL,NULL}, {"",0,0,NULL,NULL,NULL},
+      {"",0,0,NULL,NULL,NULL}, {"",0,0,NULL,NULL,NULL},
+#line 39 "src/confitems.gperf"
+      {"limit_multiple",      16, ITEM(limit_multiple, double)},
+      {"",0,0,NULL,NULL,NULL},
+#line 37 "src/confitems.gperf"
       {"ignore_headers_in_manifest", 14, ITEM(ignore_headers_in_manifest, env_string)}
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
     {
-      register int key = confitems_hash (str, len);
+      register unsigned int key = confitems_hash (str, len);
 
-      if (key <= MAX_HASH_VALUE && key >= 0)
+      if (key <= MAX_HASH_VALUE)
         {
           register const char *s = wordlist[key].name;
 
@@ -191,4 +197,4 @@ confitems_get (register const char *str, register unsigned int len)
     }
   return 0;
 }
-static const size_t CONFITEMS_TOTAL_KEYWORDS = 33;
+size_t confitems_count(void) { return 33; }