On 25 February 2013 13:33, demerphq <[email protected]> wrote: > On 23 February 2013 19:41, John Goodyear <[email protected]> wrote: >> >> >> Finding dependencies for regexec.o. >> >> ERROR CCN3287 regexec.c:35 The parameter list on the definition of >> >> macro LOAD_UTF8_CHARCLASS_DEBUG_TEST is not complete. >> >> ERROR CCN3287 regexec.c:75 The parameter list on the definition of >> >> macro REXEC_TRIE_READ_CHAR is not complete. >> >> For the errors above, I see that cppstdin is invoke with these arguments: >> >> $finc='', -I., $cppflags='', $cppminus='' >> >> This being the case, is it simply that when cppflags or cppminus are >> empty some macros aren't being defined? >> As you indicated, this could be happening on other platforms, but is >> getting hidden since stderr is handled differently. > > > REXEC_TRIE_READ_CHAR() is mine. > > I suspect it is because someone, maybe me, wrapped the argument list: > > #define REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc, uscan, len, > \ > uvc, charid, foldlen, foldbuf, uniflags) STMT_START { > \ > > I will push a patch to unwrap this, as I bet it is confusing your CPP.
Ive been irresponsible and pushed a fix for this without testing if it breaks anything. I sure as heck hope not. commit fd3249ee224079ac3a7b66dc335d7a6e6ca22d36 Author: Yves Orton <[email protected]> Date: Mon Feb 25 13:34:52 2013 +0100 unwrap #define argument list for REXEC_TRIE_READ_CHAR Apparently this breaks the z/OS 1.13 c preprocessor. (Yay, now I can say I have written code for z/OS!) diff --git a/regexec.c b/regexec.c index ec6886a..d376e26 100644 --- a/regexec.c +++ b/regexec.c @@ -1226,8 +1226,8 @@ Perl_re_intuit_start(pTHX_ REGEXP * const rx, SV *sv, char *strpos, ? (utf8_target ? trie_utf8 : trie_plain) \ : (utf8_target ? trie_utf8_fold : trie_latin_utf8_fold)) -#define REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc, uscan, len, \ -uvc, charid, foldlen, foldbuf, uniflags) STMT_START { \ +#define REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc, uscan, len, uvc, charid, foldlen, foldbuf, uniflags) \ +STMT_START { \ STRLEN skiplen; \ switch (trie_type) { \ case trie_utf8_fold: \ -- perl -Mre=debug -e "/just|another|perl|hacker/"
