grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 2/3] "-Wall -Wextra -Werror" compilation patches - part 2/3


From: Doron Tsur
Subject: [PATCH 2/3] "-Wall -Wextra -Werror" compilation patches - part 2/3
Date: Wed, 4 Dec 2013 13:58:07 +0200

Tests: Ubuntu 13.10 compilation
.../configure --prefix=/usr --enable-mm-debug --enable-cache-stats 
EFI_ARCH=x86_64 --with-platform=efi --enable-boot-time CFLAGS="-Wall -Wextra 
-Werror" && make
Signed-off-by: Doron Tsur <address@hidden>
---
 grub-core/Makefile.core.def       |    2 +-
 grub-core/gnulib/Makefile.am      |    2 +-
 grub-core/gnulib/argp-fmtstream.c |    2 +-
 grub-core/gnulib/argp-help.c      |    2 +-
 grub-core/gnulib/getopt_int.h     |    2 +-
 grub-core/gnulib/regcomp.c        |   33 +++++++++++++++++++--------------
 grub-core/gnulib/regex_internal.c |    8 +++++---
 grub-core/gnulib/regex_internal.h |   13 +++++++++----
 grub-core/gnulib/regexec.c        |   20 ++++++++++----------
 9 files changed, 48 insertions(+), 36 deletions(-)

diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index 57abb49..85a1110 100644
--- a/grub-core/Makefile.core.def
+++ b/grub-core/Makefile.core.def
@@ -2220,7 +2220,7 @@ module = {
   common = lib/libgcrypt-grub/mpi/mpi-inline.c;
   common = lib/libgcrypt_wrap/mem.c;
 
-  cflags = '$(CFLAGS_GCRY) -Wno-redundant-decls -Wno-sign-compare';
+  cflags = '$(CFLAGS_GCRY) -Wno-redundant-decls -Wno-sign-compare 
-Wno-unused-but-set-variable';
   cppflags = '$(CPPFLAGS_GCRY)';
 };
 
diff --git a/grub-core/gnulib/Makefile.am b/grub-core/gnulib/Makefile.am
index 3444397..22e67e6 100644
--- a/grub-core/gnulib/Makefile.am
+++ b/grub-core/gnulib/Makefile.am
@@ -39,7 +39,7 @@ DISTCLEANFILES =
 MAINTAINERCLEANFILES =
 
 AM_CPPFLAGS =
-AM_CFLAGS =
+AM_CFLAGS = -Wno-type-limits
 
 noinst_LIBRARIES += libgnu.a
 
diff --git a/grub-core/gnulib/argp-fmtstream.c 
b/grub-core/gnulib/argp-fmtstream.c
index 19fab18..9f4f632 100644
--- a/grub-core/gnulib/argp-fmtstream.c
+++ b/grub-core/gnulib/argp-fmtstream.c
@@ -120,7 +120,7 @@ weak_alias (__argp_fmtstream_free, argp_fmtstream_free)
 
 
 /* Return the pointer to the first character that doesn't fit in l columns.  */
-static inline const ptrdiff_t
+static inline ptrdiff_t
 add_width (const char *ptr, const char *end, size_t l)
 {
   mbstate_t ps;
diff --git a/grub-core/gnulib/argp-help.c b/grub-core/gnulib/argp-help.c
index e01d40c..54d0664 100644
--- a/grub-core/gnulib/argp-help.c
+++ b/grub-core/gnulib/argp-help.c
@@ -466,7 +466,7 @@ make_hol (const struct argp *argp, struct hol_cluster 
*cluster)
 
       assert (hol->entries && hol->short_options);
       if (SIZE_MAX <= UINT_MAX)
-        assert (hol->num_entries <= SIZE_MAX / sizeof (struct hol_entry));
+        assert (hol->num_entries <= (SIZE_MAX / sizeof (struct hol_entry)) );
 
       /* Fill in the entries.  */
       so = hol->short_options;
diff --git a/grub-core/gnulib/getopt_int.h b/grub-core/gnulib/getopt_int.h
index a6e4b9e..51afb60 100644
--- a/grub-core/gnulib/getopt_int.h
+++ b/grub-core/gnulib/getopt_int.h
@@ -113,7 +113,7 @@ struct _getopt_data
 
 /* The initializer is necessary to set OPTIND and OPTERR to their
    default values and to clear the initialization flag.  */
-#define _GETOPT_DATA_INITIALIZER        { 1, 1 }
+#define _GETOPT_DATA_INITIALIZER        { .optind = 1, .opterr = 1 }
 
 extern int _getopt_internal_r (int ___argc, char **___argv,
                                const char *__shortopts,
diff --git a/grub-core/gnulib/regcomp.c b/grub-core/gnulib/regcomp.c
index 596e0cf..c1972b6 100644
--- a/grub-core/gnulib/regcomp.c
+++ b/grub-core/gnulib/regcomp.c
@@ -334,7 +334,7 @@ re_compile_fastmap_iter (regex_t *bufp, const re_dfastate_t 
*init_state,
                *p++ = dfa->nodes[node].opr.c;
              memset (&state, '\0', sizeof (state));
              if (__mbrtowc (&wc, (const char *) buf, p - buf,
-                            &state) == p - buf
+                            &state) == ((size_t)(p - buf))
                  && (__wcrtomb ((char *) buf, towlower (wc), &state)
                      != (size_t) -1))
                re_set_fastmap (fastmap, false, buf[0]);
@@ -540,7 +540,7 @@ regerror (errcode, preg, errbuf, errbuf_size)
     size_t errbuf_size;
 #else /* size_t might promote */
 size_t
-regerror (int errcode, const regex_t *_Restrict_ preg,
+regerror (int errcode, const regex_t *_Restrict_ preg __attribute__((unused)),
          char *_Restrict_ errbuf, size_t errbuf_size)
 #endif
 {
@@ -928,7 +928,7 @@ init_dfa (re_dfa_t *dfa, size_t pat_len)
                if (wch != WEOF)
                  dfa->sb_char[i] |= (bitset_word_t) 1 << j;
 # ifndef _LIBC
-               if (isascii (ch) && wch != ch)
+               if (isascii (ch) && ((int)wch) != ch)
                  dfa->map_notascii = 1;
 # endif
              }
@@ -1418,7 +1418,7 @@ calc_first (void *extra, bin_tree_t *node)
 
 /* Pass 2: compute NEXT on the tree.  Preorder visit.  */
 static reg_errcode_t
-calc_next (void *extra, bin_tree_t *node)
+calc_next (void *extra __attribute__((unused)), bin_tree_t *node)
 {
   switch (node->token.type)
     {
@@ -2716,9 +2716,9 @@ build_range_exp (const reg_syntax_t syntax,
              : ((end_elem->type == COLL_SYM) ? end_elem->opr.name[0]
                 : 0));
     start_wc = ((start_elem->type == SB_CHAR || start_elem->type == COLL_SYM)
-               ? __btowc (start_ch) : start_elem->opr.wch);
+               ? __btowc (start_ch) : (wint_t)(start_elem->opr.wch));
     end_wc = ((end_elem->type == SB_CHAR || end_elem->type == COLL_SYM)
-             ? __btowc (end_ch) : end_elem->opr.wch);
+             ? __btowc (end_ch) : (wint_t)(end_elem->opr.wch));
     if (start_wc == WEOF || end_wc == WEOF)
       return REG_ECOLLATE;
     else if (BE ((syntax & RE_NO_EMPTY_RANGES) && start_wc > end_wc, 0))
@@ -2762,7 +2762,7 @@ build_range_exp (const reg_syntax_t syntax,
     /* Build the table for single byte characters.  */
     for (wc = 0; wc < SBC_MAX; ++wc)
       {
-       if (start_wc <= wc && wc <= end_wc)
+       if (start_wc <= ((wint_t)wc) && ((wint_t)wc) <= end_wc)
          bitset_set (sbcset, wc);
       }
   }
@@ -2797,8 +2797,8 @@ build_range_exp (const reg_syntax_t syntax,
 static reg_errcode_t
 internal_function
 # ifdef RE_ENABLE_I18N
-build_collating_symbol (bitset_t sbcset, re_charset_t *mbcset,
-                       Idx *coll_sym_alloc, const unsigned char *name)
+build_collating_symbol (bitset_t sbcset, re_charset_t *mbcset 
__attribute__((unused)),
+                       Idx *coll_sym_alloc __attribute__((unused)), const 
unsigned char *name)
 # else /* not RE_ENABLE_I18N */
 build_collating_symbol (bitset_t sbcset, const unsigned char *name)
 # endif /* not RE_ENABLE_I18N */
@@ -3366,7 +3366,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, 
re_token_t *token,
 
 static reg_errcode_t
 parse_bracket_element (bracket_elem_t *elem, re_string_t *regexp,
-                      re_token_t *token, int token_len, re_dfa_t *dfa,
+                      re_token_t *token, int token_len, re_dfa_t *dfa 
__attribute__((unused)),
                       reg_syntax_t syntax, bool accept_hyphen)
 {
 #ifdef RE_ENABLE_I18N
@@ -3451,10 +3451,15 @@ parse_bracket_symbol (bracket_elem_t *elem, re_string_t 
*regexp,
      EQUIV_CLASS_ALLOC is the allocated size of mbcset->equiv_classes,
      is a pointer argument since we may update it.  */
 
+#ifdef _LIBC
+#define build_equiv_class_ATTRIBUTE_UNUSED
+#else
+#define build_equiv_class_ATTRIBUTE_UNUSED __attribute__((unused))
+#endif
 static reg_errcode_t
 #ifdef RE_ENABLE_I18N
-build_equiv_class (bitset_t sbcset, re_charset_t *mbcset,
-                  Idx *equiv_class_alloc, const unsigned char *name)
+build_equiv_class (bitset_t sbcset, re_charset_t *mbcset 
build_equiv_class_ATTRIBUTE_UNUSED,
+                  Idx *equiv_class_alloc build_equiv_class_ATTRIBUTE_UNUSED, 
const unsigned char *name)
 #else /* not RE_ENABLE_I18N */
 build_equiv_class (bitset_t sbcset, const unsigned char *name)
 #endif /* not RE_ENABLE_I18N */
@@ -3760,7 +3765,7 @@ fetch_number (re_string_t *input, re_token_t *token, 
reg_syntax_t syntax)
              || num == REG_ERROR)
             ? REG_ERROR
             : num == REG_MISSING
-            ? c - '0'
+            ? (Idx)(c - '0')
             : MIN (RE_DUP_MAX + 1, num * 10 + c - '0'));
     }
   return num;
@@ -3860,7 +3865,7 @@ free_token (re_token_t *node)
    and its children. */
 
 static reg_errcode_t
-free_tree (void *extra, bin_tree_t *node)
+free_tree (void *extra __attribute__((unused)), bin_tree_t *node)
 {
   free_token (&node->token);
   return REG_NOERROR;
diff --git a/grub-core/gnulib/regex_internal.c 
b/grub-core/gnulib/regex_internal.c
index 899b0ae..2b03dfd 100644
--- a/grub-core/gnulib/regex_internal.c
+++ b/grub-core/gnulib/regex_internal.c
@@ -224,7 +224,8 @@ build_wcs_buffer (re_string_t *pstr)
       /* Apply the translation if we need.  */
       if (BE (pstr->trans != NULL, 0))
        {
-         int i, ch;
+         int ch;
+         Idx i;
 
          for (i = 0; i < pstr->mb_cur_max && i < remain_len; ++i)
            {
@@ -367,7 +368,8 @@ build_wcs_upper_buffer (re_string_t *pstr)
        prev_st = pstr->cur_state;
        if (BE (pstr->trans != NULL, 0))
          {
-           int i, ch;
+           int ch;
+           Idx i;
 
            for (i = 0; i < pstr->mb_cur_max && i < remain_len; ++i)
              {
@@ -751,7 +753,7 @@ re_string_reconstruct (re_string_t *pstr, Idx idx, int 
eflags)
                          memset (&cur_state, 0, sizeof (cur_state));
                          mbclen = __mbrtowc (&wc2, (const char *) pp, mlen,
                                              &cur_state);
-                         if (raw + offset - p <= mbclen
+                         if ( ( ((size_t)(raw + offset - p)) <= mbclen)
                              && mbclen < (size_t) -2)
                            {
                              memset (&pstr->cur_state, '\0',
diff --git a/grub-core/gnulib/regex_internal.h 
b/grub-core/gnulib/regex_internal.h
index c467b29..121f56c 100644
--- a/grub-core/gnulib/regex_internal.h
+++ b/grub-core/gnulib/regex_internal.h
@@ -399,7 +399,7 @@ struct re_string_t
   unsigned char offsets_needed;
   unsigned char newline_anchor;
   unsigned char word_ops_used;
-  int mb_cur_max;
+  Idx mb_cur_max;
 };
 typedef struct re_string_t re_string_t;
 
@@ -624,7 +624,7 @@ typedef struct
   Idx nbkref_ents;
   Idx abkref_ents;
   struct re_backref_cache_entry *bkref_ents;
-  int max_mb_elem_len;
+  Idx max_mb_elem_len;
   Idx nsub_tops;
   Idx asub_tops;
   re_sub_match_top_t **sub_tops;
@@ -691,7 +691,7 @@ struct re_dfa_t
   unsigned int is_utf8 : 1;
   unsigned int map_notascii : 1;
   unsigned int word_ops_used : 1;
-  int mb_cur_max;
+  Idx mb_cur_max;
   bitset_t word_char;
   reg_syntax_t syntax;
   Idx *subexp_map;
@@ -825,9 +825,14 @@ re_string_wchar_at (const re_string_t *pstr, Idx idx)
 }
 
 # ifndef NOT_IN_libc
+#  ifdef _LIBC
+#define re_string_elem_size_at_ATTRIBUTE_UNUSED
+#else
+#define re_string_elem_size_at_ATTRIBUTE_UNUSED __attribute__((unused))
+#endif
 static int
 internal_function __attribute__ ((pure, unused))
-re_string_elem_size_at (const re_string_t *pstr, Idx idx)
+re_string_elem_size_at (const re_string_t *pstr 
re_string_elem_size_at_ATTRIBUTE_UNUSED, Idx idx 
re_string_elem_size_at_ATTRIBUTE_UNUSED)
 {
 #  ifdef _LIBC
   const unsigned char *p, *extra;
diff --git a/grub-core/gnulib/regexec.c b/grub-core/gnulib/regexec.c
index f632cd4..6d997c5 100644
--- a/grub-core/gnulib/regexec.c
+++ b/grub-core/gnulib/regexec.c
@@ -490,7 +490,7 @@ re_search_stub (struct re_pattern_buffer *bufp,
     {
       if (ret_len)
        {
-         assert (pmatch[0].rm_so == start);
+         assert (((Idx)(pmatch[0].rm_so)) == start);
          rval = pmatch[0].rm_eo - start;
        }
       else
@@ -928,11 +928,11 @@ re_search_internal (const regex_t *preg,
            if (BE (mctx.input.offsets_needed != 0, 0))
              {
                pmatch[reg_idx].rm_so =
-                 (pmatch[reg_idx].rm_so == mctx.input.valid_len
+                 (((Idx)(pmatch[reg_idx].rm_so)) == mctx.input.valid_len
                   ? mctx.input.valid_raw_len
                   : mctx.input.offsets[pmatch[reg_idx].rm_so]);
                pmatch[reg_idx].rm_eo =
-                 (pmatch[reg_idx].rm_eo == mctx.input.valid_len
+                 (((Idx)(pmatch[reg_idx].rm_eo)) == mctx.input.valid_len
                   ? mctx.input.valid_raw_len
                   : mctx.input.offsets[pmatch[reg_idx].rm_eo]);
              }
@@ -1472,11 +1472,11 @@ set_regs (const regex_t *preg, const re_match_context_t 
*mctx, size_t nmatch,
     }
   memcpy (prev_idx_match, pmatch, sizeof (regmatch_t) * nmatch);
 
-  for (idx = pmatch[0].rm_so; idx <= pmatch[0].rm_eo ;)
+  for (idx = (Idx)(pmatch[0].rm_so); idx <= (Idx)(pmatch[0].rm_eo) ;)
     {
       update_regs (dfa, pmatch, prev_idx_match, cur_node, idx, nmatch);
 
-      if (idx == pmatch[0].rm_eo && cur_node == mctx->last_node)
+      if (idx == (Idx)(pmatch[0].rm_eo) && cur_node == mctx->last_node)
        {
          Idx reg_idx;
          if (fs)
@@ -1575,7 +1575,7 @@ update_regs (const re_dfa_t *dfa, regmatch_t *pmatch,
       if (reg_num < nmatch)
        {
          /* We are at the last node of this sub expression.  */
-         if (pmatch[reg_num].rm_so < cur_idx)
+         if (((Idx)(pmatch[reg_num].rm_so)) < cur_idx)
            {
              pmatch[reg_num].rm_eo = cur_idx;
              /* This is a non-empty match or we are not inside an optional
@@ -1629,7 +1629,7 @@ internal_function
 sift_states_backward (const re_match_context_t *mctx, re_sift_context_t *sctx)
 {
   reg_errcode_t err;
-  int null_cnt = 0;
+  Idx null_cnt = 0;
   Idx str_idx = sctx->last_str_idx;
   re_node_set cur_dest;
 
@@ -2568,7 +2568,7 @@ transit_state_mb (re_match_context_t *mctx, re_dfastate_t 
*pstate)
 
       /* The node can accepts 'naccepted' bytes.  */
       dest_idx = re_string_cur_idx (&mctx->input) + naccepted;
-      mctx->max_mb_elem_len = ((mctx->max_mb_elem_len < naccepted) ? naccepted
+      mctx->max_mb_elem_len = ((mctx->max_mb_elem_len < (Idx)naccepted) ? 
(Idx)naccepted
                               : mctx->max_mb_elem_len);
       err = clean_state_log_if_needed (mctx, dest_idx);
       if (BE (err != REG_NOERROR, 0))
@@ -3831,7 +3831,7 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx 
node_idx,
       if (str_idx + char_len > input->len)
        return 0;
 
-      for (i = 1; i < char_len; ++i)
+      for (i = 1; i < ((Idx)char_len); ++i)
        {
          d = re_string_byte_at (input, str_idx + i);
          if (d < 0x80 || d > 0xbf)
@@ -4140,7 +4140,7 @@ extend_buffers (re_match_context_t *mctx, int min_len)
 
   /* Double the lengths of the buffers, but allocate at least MIN_LEN.  */
   ret = re_string_realloc_buffers (pstr,
-                                  MAX (min_len,
+                                  MAX ((Idx)min_len,
                                        MIN (pstr->len, pstr->bufs_len * 2)));
   if (BE (ret != REG_NOERROR, 0))
     return ret;
-- 
1.7.8.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]