summaryrefslogtreecommitdiff
path: root/compat/regex
diff options
context:
space:
mode:
authorJohannes Sixt <j6t@kdbg.org>2010-08-26 07:58:26 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-08-26 16:25:53 (GMT)
commitce518bbd6c891f1b9e172b8cb9212c05d731c18e (patch)
tree933ad8613826e7294df35b792447870775e4f253 /compat/regex
parent231682469b2a6de21a30dbd1dc3d9b3bb8b62e0a (diff)
downloadgit-ce518bbd6c891f1b9e172b8cb9212c05d731c18e.zip
git-ce518bbd6c891f1b9e172b8cb9212c05d731c18e.tar.gz
git-ce518bbd6c891f1b9e172b8cb9212c05d731c18e.tar.bz2
Fix compat/regex ANSIfication on MinGW
compat/regexec.c had a weird combination of function declaration in ANSI style and function definition in K&R style, for example: static unsigned re_copy_regs (struct re_registers *regs, regmatch_t *pmatch, int nregs, int regs_allocated) internal_function; static unsigned re_copy_regs (regs, pmatch, nregs, regs_allocated) struct re_registers *regs; regmatch_t *pmatch; int nregs, regs_allocated; { ... } with this #define: #ifndef _LIBC # ifdef __i386__ # define internal_function __attribute ((regparm (3), stdcall)) # else # define internal_function # endif #endif The original version as shown above was fine, but with the ANSIfied function definition and in the case where internal_function is not empty, gcc identifies the declaration and definition as different and bails out. Adding internal_function to the definition doesn't help (it results in a syntax error); hence, remove it from the subset of declarations that gcc flags as erroneous. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'compat/regex')
-rw-r--r--compat/regex/regexec.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/compat/regex/regexec.c b/compat/regex/regexec.c
index b49585a..0194965 100644
--- a/compat/regex/regexec.c
+++ b/compat/regex/regexec.c
@@ -40,20 +40,19 @@ static reg_errcode_t re_search_internal (const regex_t *preg,
const char *string, int length,
int start, int range, int stop,
size_t nmatch, regmatch_t pmatch[],
- int eflags) internal_function;
+ int eflags);
static int re_search_2_stub (struct re_pattern_buffer *bufp,
const char *string1, int length1,
const char *string2, int length2,
int start, int range, struct re_registers *regs,
- int stop, int ret_len) internal_function;
+ int stop, int ret_len);
static int re_search_stub (struct re_pattern_buffer *bufp,
const char *string, int length, int start,
int range, int stop, struct re_registers *regs,
- int ret_len) internal_function;
+ int ret_len);
static unsigned re_copy_regs (struct re_registers *regs, regmatch_t *pmatch,
- int nregs, int regs_allocated) internal_function;
-static reg_errcode_t prune_impossible_nodes (re_match_context_t *mctx)
- internal_function;
+ int nregs, int regs_allocated);
+static reg_errcode_t prune_impossible_nodes (re_match_context_t *mctx);
static int check_matching (re_match_context_t *mctx, int fl_longest_match,
int *p_match_first) internal_function;
static int check_halt_state_context (const re_match_context_t *mctx,