clang produces these warning about regcomp.c: regcomp.c(40,25): warning: redundant parentheses surrounding declarator [-Wredundant-parens] regcomp.c(43,19): warning: redundant parentheses surrounding declarator [-Wredundant-parens] regcomp.c(1226,44): warning: redundant parentheses surrounding declarator [-Wredundant-parens] regcomp.c(1258,43): warning: redundant parentheses surrounding declarator [-Wredundant-parens]
What is the point of these parentheses? Would this patch be OK (also in glibc)? diff --git a/lib/regcomp.c b/lib/regcomp.c index 692928b..392d125 100644 --- a/lib/regcomp.c +++ b/lib/regcomp.c @@ -37,10 +37,10 @@ static void optimize_utf8 (re_dfa_t *dfa); #endif static reg_errcode_t analyze (regex_t *preg); static reg_errcode_t preorder (bin_tree_t *root, - reg_errcode_t (fn (void *, bin_tree_t *)), + reg_errcode_t fn (void *, bin_tree_t *), void *extra); static reg_errcode_t postorder (bin_tree_t *root, - reg_errcode_t (fn (void *, bin_tree_t *)), + reg_errcode_t fn (void *, bin_tree_t *), void *extra); static reg_errcode_t optimize_subexps (void *extra, bin_tree_t *node); static reg_errcode_t lower_subexps (void *extra, bin_tree_t *node); @@ -1223,7 +1223,7 @@ analyze (regex_t *preg) implement parse tree visits. Instead, we use parent pointers and some hairy code in these two functions. */ static reg_errcode_t -postorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)), +postorder (bin_tree_t *root, reg_errcode_t fn (void *, bin_tree_t *), void *extra) { bin_tree_t *node, *prev; @@ -1255,7 +1255,7 @@ postorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)), } static reg_errcode_t -preorder (bin_tree_t *root, reg_errcode_t (fn (void *, bin_tree_t *)), +preorder (bin_tree_t *root, reg_errcode_t fn (void *, bin_tree_t *), void *extra) { bin_tree_t *node;