{"push_id":1197184783,"size":12,"distinct_size":7,"ref":"refs/heads/feature/gh9-warnings-xs","head":"9cc95620b894bf3fbab88f71d8d38ce4d7be3184","before":"4aa42b75e0fa9ba73220a108f6dbdd3c2998488e","commits":[{"sha":"79dbf359a1f851318573c4ad6ac7555c89315964","author":{"name":"bulk88","email":"5a6b7f04a018f04b3797245d9d819fcd593a8fa5@hotmail.com"},"message":"configpm shouldn't load XSConfig\n\nThe core cperl and p5p perl Config.pm generated has a 5.XXXYYY series\nversion number identical to the perl version, XS Config uses 6.XX series\nversion numbers so it never conflicts with P5P's Config.pm. When doing\ndevelopment on cperl, and doing \"make not_target_all_or_test\", the\nXS Config.pm can be downgraded (Config.pm is rebuilt) to the initial core\nConfig.pm. Then running full cperl (not mini cperl) causes\n\nC:\\sources\\cperl>cperl -Ilib -MConfig -e\"Config::config_re()\"\nConfig object version 6.21 does not match bootstrap parameter 5.024000 at\nlib/Config.pm line 83.\n\nC:\\sources\\cperl>\n\nSince we dont easily know in configpm what version of XS Config is\nbundled with cperl, there is no point trying to write the correct\nXSConfig version number in the initial Config.pm. Running the initial\nConfig.pm with full cperl has never been done before I pull that trick off\n, so the load XSConfig from initial Config.pm code has never been executed\nbefore and it doesn't actually work, so just always be 100% PP, inside\nthe initial Config.pm. 99%-100% of intial Config.pm's usage is by miniperl\nanyway, so initial Config.pm is deoptimized for XSConfig (example,\ninitial Config.pm has the cached keys at the bottom) anyway and shouldn't\nbe seen in a production/shipped/installed cperl anyway.\n\nI'm not sure \"return Config->FETCH($_[0]);\" in AUTOLOAD even does anything\nsane. For one, Config::config_vars sub is a vararg and that line isn't\nvararg compatible.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/79dbf359a1f851318573c4ad6ac7555c89315964"},{"sha":"94fff67730bd1148aeb7910e39050ef4881e88f9","author":{"name":"bulk88","email":"5a6b7f04a018f04b3797245d9d819fcd593a8fa5@hotmail.com"},"message":"B-C: DynaLoader's boot xsub isn't called DynaLoader::bootstrap\n\nFixes a SEGV, where a perl exception was thrown that shouldn't have\nhapppened. That exception had no eval frame to catch it because of BC\napp's uniqueness causing a SEGV (C stack exhaustion) eventually. Pass\nthe CV * to boot xsub on all perl versions. 5.22 added XS handshake code\nthat requires cv arg to be an actual CV or else SEGV but passing NULL for\nthe cv arg to a XSUB has never been perl API/ABI so don't do it on any\nperl version. The CV * is free/no cost to obtain it anyway because newXS\nreturns it. See GH PR for details on crash.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/94fff67730bd1148aeb7910e39050ef4881e88f9"},{"sha":"7282ac6e91638d2c4217c7a3bcc691d9eb1679c2","author":{"name":"bulk88","email":"5a6b7f04a018f04b3797245d9d819fcd593a8fa5@hotmail.com"},"message":"B-C: escape backslashes in shared lib paths for doublequote strings\n\nFixes a SEGV, where a perl exception was thrown that shouldn't have\nhapppened. That exception had no eval frame to catch it because of BC\napp's uniqueness causing a SEGV (C stack exhaustion) eventually. See GH\nPR for details on crash.\n\nThe exception was\n\"Error: load_file ....lib/auto/Config/Config.dll not found\"\nsince the single backslashes were removed by Visual C with\n\n\"warning C4129: '.' : unrecognized character escape sequence\"\n\"warning C4129: 'l' : unrecognized character escape sequence\"\n\nAdd escaping of backslashes so the emitted C strings don't trigger escape\nsequences.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/7282ac6e91638d2c4217c7a3bcc691d9eb1679c2"},{"sha":"5bde59f430f631bfeb522745ee0cc4cf9ae84dfb","author":{"name":"bulk88","email":"5a6b7f04a018f04b3797245d9d819fcd593a8fa5@hotmail.com"},"message":"Win32: dont set TEST_JOBS for appveyor\n\nTAP::Harness doesnt support parallel testing on Win32. Appveyor gives you\nonly 1 core. Setting TEST_JOBS only makes it impossible to read the\nappveyor build log to figure out which test file hung, since the files are\nlisted in the console randomly, not in the order they were serially run\nwhen TEST_JOBS != 1 on windows.","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/5bde59f430f631bfeb522745ee0cc4cf9ae84dfb"},{"sha":"a3228aa60459047127ec74af872edb8072671db4","author":{"name":"bulk88","email":"5a6b7f04a018f04b3797245d9d819fcd593a8fa5@hotmail.com"},"message":"appveyor: enable RDP\n\ndiagnose a hang in e_perlcc.t","distinct":false,"url":"https://api.github.com/repos/perl11/cperl/commits/a3228aa60459047127ec74af872edb8072671db4"},{"sha":"6ccfc96deef5d795365ddc55e910f247bd5ab1a9","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"warnings: move to ext/warnings as shared lib\n\nuse gperf, with post-processing as in parrot\nbut remove the #line directives. they are just wrong.\n\nadd rules to the main Makefile, not a dyn_ext, but a boot_ext.\nadd CCCDLFLAGS to Makefile needed to compile a shared lib\n\nregen_lib.pl: defer load of Text::Wrap to run-time.\nNote: xsubpp cannot deal with paths. need to chdir into it\n\nPerl_warnings_lookup now calls the new perfect hash lookup\nand falls back to the dynamic %warnings::_Bits lookup\nwhich consists of SVt_PVIV with offset as IV\nand bits + deadbits as PV, allocated to max 32 byte (255 bits).\nregister_categories adds to %warnings::_Bits.\n\nBy allocating the max size we don't need to extend the values\nwhen a new category is added.\ndynamic var $LAST_BIT holds the global (const size + dynamic size) *2,\nas before.\nMost other previous globals are discontinued.\n\nadd a static ws struct for an intermediate lookup result from the\ndynamic hash.\nadd a writable struct Perl_warnings_dyn to be able to change the \"all\" key.\n\nuse a special newWSV() to zero all bits.\nfix the no warnings; case pushing \"all\" as arg\nadd -Dv to import and unimport\ncopy over the string with the following lengths:\npvs for static compile-time length\npvh for static length from header constants (just WARNsize, the rest is zeroed)\npv for the full dynamic hash lengths (WARN_MAX_BYTES)\n\nin XS caller(0) is PL_curcop, because XS does not track caller.\n\nwe error now on the new limitation: the size is hardcoded to max 255 warnings.\nwe could fix this when needed by growing all %Bits entries.\n\nxs does not save a callstack, so the short_error_loc is always wrong.\nso disable the XS calls to the callstack using warnings functions, add new PP versions.\nrewrite Carp Perl_short_error_loc to use the PP variant Carp::short_error_loc.\n\nTODO: USE_PP_CARP all over, no Carp as xs\n\nfix some clients:\ndeprecate needs to use warnings::warnif, not the internal %Offset.\n\nadd keys and exist API:\n\nseveral CPAN modules need the keys and exists on %Offsets, just to get\nthe list and to see if it exists. Export that.\n\nA full backwards compat API, with tie magic to Bits, Offset and DeadBits not yet\n\nto be rewritten:\n  warnings::everywhere, warnings::pedantic\n  warnings::DynamicScope\n  Test::Warn\n  qbit\n\nsimple fixes:\n  strictures, Object::Previous, Scalar::Random::PP::OO\n  Scope::Upper, Mousse, Test::Vars, sanity\n\ndisable one more feature warnings:\n\ndisable experimental::const_attr as default also.\nrefactor to list to turn warn lexicals warnings off.\n\nPL_curcop/PL_compiling mixup:\n\nsee mg.c: only set the global PL_compiling, not any lexical curcop.\nAt runtime, it's not safe to manipulate PL_curcop: it may be\nan op shared between threads. Use a non-shared COP.\n\nfixes at least the failing op test, but not 9enabled yet.\n\nalso optimize on DEBUGGING builds\n\nfix more 9enabled test\n\nprovide Usage arity error for warn/warnif with 0 args.\nremaining fails: 24, 30, 32, 34, 36, 40, 46, 51-52, 54-56\n\nfix stack underflow:\n\ncperl -Dlotsv -Mwarnings=misc -e0\nwhen importing one argument, in the call to _bits\n\nSTACK 0: MAIN\nSTACK 1: REQUIRE\n  CX 0: EVAL   =>  [STACK UNDERFLOW!!!]\n\nmake _do_bits a static function, and do not call it via\ncall_pv. adjust the FATAL logic.\nuntested with carp-xs, for ax.","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/6ccfc96deef5d795365ddc55e910f247bd5ab1a9"},{"sha":"b060b5fd694f687b93f50489ce5fdd4b61c5fbda","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"warnings: fix porting tests\n\nwarnings is not on CPAN. we could put it out there though for older versions\nto benefit from XS though.","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/b060b5fd694f687b93f50489ce5fdd4b61c5fbda"},{"sha":"45959d4044cb57a16f4095d77227fa7445df3ea1","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"Carp: add -Dv support, print stack traces\n\nin shortmess_heavy","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/45959d4044cb57a16f4095d77227fa7445df3ea1"},{"sha":"594f4cb76845affa62be6457a0f72a7238040033","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"warnings: convert to regular XS extension\n\nsame as Config.","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/594f4cb76845affa62be6457a0f72a7238040033"},{"sha":"3e9fde0a99be9feb2be5ea4b6c59bb5e745ec0db","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"feature: rework WIP","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/3e9fde0a99be9feb2be5ea4b6c59bb5e745ec0db"},{"sha":"ef2f94a3f5b74efd02b16df5ab5c215db0bfe997","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"warnings.boot: &enabled, &_chk now also required\n\nby lib/buildcustomize.pl and miniperl building B-C","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/ef2f94a3f5b74efd02b16df5ab5c215db0bfe997"},{"sha":"9cc95620b894bf3fbab88f71d8d38ce4d7be3184","author":{"name":"Reini Urban","email":"124d4de0b2391c49441429d4e282b8f880187ae3@cpanel.net"},"message":"warnings: add types for 5.24","distinct":true,"url":"https://api.github.com/repos/perl11/cperl/commits/9cc95620b894bf3fbab88f71d8d38ce4d7be3184"}]}
{"actor":{"display_login":"rurban"}}