diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2015-10-26 14:15:25 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-10-26 13:24:03 -0700 |
commit | 56a1a3ab449df33268776a8b72a301d3ee67ad8d (patch) | |
tree | 151de5a2bd3b18e97da16590f03c660a5cb5103e /compat/regex | |
parent | 8f7744235844c44e780e026868beef29693c062e (diff) | |
download | git-56a1a3ab449df33268776a8b72a301d3ee67ad8d.tar.gz git-56a1a3ab449df33268776a8b72a301d3ee67ad8d.tar.xz |
Silence GCC's "cast of pointer to integer of a different size" warning
When calculating hashes from pointers, it actually makes sense to cut
off the most significant bits. In that case, said warning does not make
a whole lot of sense.
So let's just work around it by casting the pointer first to intptr_t
and then casting up/down to the final integral type.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'compat/regex')
-rw-r--r-- | compat/regex/regcomp.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/compat/regex/regcomp.c b/compat/regex/regcomp.c index 06f308870..fba598639 100644 --- a/compat/regex/regcomp.c +++ b/compat/regex/regcomp.c @@ -18,6 +18,8 @@ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ +#include <stdint.h> + static reg_errcode_t re_compile_internal (regex_t *preg, const char * pattern, size_t length, reg_syntax_t syntax); static void re_compile_fastmap_iter (regex_t *bufp, @@ -2577,7 +2579,7 @@ parse_dup_op (bin_tree_t *elem, re_string_t *regexp, re_dfa_t *dfa, old_tree = NULL; if (elem->token.type == SUBEXP) - postorder (elem, mark_opt_subexp, (void *) (long) elem->token.opr.idx); + postorder (elem, mark_opt_subexp, (void *) (intptr_t) elem->token.opr.idx); tree = create_tree (dfa, elem, NULL, (end == -1 ? OP_DUP_ASTERISK : OP_ALT)); if (BE (tree == NULL, 0)) @@ -3806,7 +3808,7 @@ create_token_tree (re_dfa_t *dfa, bin_tree_t *left, bin_tree_t *right, static reg_errcode_t mark_opt_subexp (void *extra, bin_tree_t *node) { - int idx = (int) (long) extra; + int idx = (int) (intptr_t) extra; if (node->token.type == SUBEXP && node->token.opr.idx == idx) node->token.opt_subexp = 1; |