@matheusbsbs / matheus-bagliano / commits / ce518bbd6c
Fork 0

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>

Johannes Sixt committed Aug 26, 2010 at 09:58 UTC ce518bbd6c891f1b9e172b8cb9212c05d731c18e
1 file changed +5 -6
compat/regex/regexec.c
+5 -6
@@ -40,20 +40,19 @@ static reg_errcode_t re_search_internal (const regex_t *preg,
40 const char *string, int length,
41 int start, int range, int stop,
42 size_t nmatch, regmatch_t pmatch[],
43 - int eflags) internal_function;
43 + int eflags);
44 static int re_search_2_stub (struct re_pattern_buffer *bufp,
45 const char *string1, int length1,
46 const char *string2, int length2,
47 int start, int range, struct re_registers *regs,
48 - int stop, int ret_len) internal_function;
48 + int stop, int ret_len);
49 static int re_search_stub (struct re_pattern_buffer *bufp,
50 const char *string, int length, int start,
51 int range, int stop, struct re_registers *regs,
52 - int ret_len) internal_function;
52 + int ret_len);
53 static unsigned re_copy_regs (struct re_registers *regs, regmatch_t *pmatch,
54 - int nregs, int regs_allocated) internal_function;
55 -static reg_errcode_t prune_impossible_nodes (re_match_context_t *mctx)
56 - internal_function;
54 + int nregs, int regs_allocated);
55 +static reg_errcode_t prune_impossible_nodes (re_match_context_t *mctx);
56 static int check_matching (re_match_context_t *mctx, int fl_longest_match,
57 int *p_match_first) internal_function;
58 static int check_halt_state_context (const re_match_context_t *mctx,