develooper Front page | perl.perl5.porters | Postings from January 2018

Re: [perl #132766] Recent changes to inline.h have broken VC6 buildon Windows

Thread Previous | Thread Next
From:
Karl Williamson
Date:
January 31, 2018 02:03
Subject:
Re: [perl #132766] Recent changes to inline.h have broken VC6 buildon Windows
Message ID:
8f427eb4-326d-d812-b453-bf75f1ba310f@khwilliamson.com
On 01/27/2018 04:23 AM, Steve Hay wrote:
> On 26 January 2018 at 16:34, Karl Williamson <public@khwilliamson.com> wrote:
>> On 01/26/2018 06:40 AM, Steve Hay via perl5-porters wrote:
>>>
>>> On 26 January 2018 at 08:50, Steve Hay <steve.m.hay@googlemail.com> wrote:
>>>>
>>>> On 25 January 2018 at 17:42, Karl Williamson via RT
>>>> <perlbug-followup@perl.org> wrote:
>>>>>
>>>>> Please check if this branch (which contains a number of irrelevant
>>>>> commits as well) fixes the problem
>>>>
>>>>
>>>> I assume you mean the smoke-me/khw-variant branch? I tried that and
>>>> it's better, but still has two problems:
>>>>
>>>> 1) inline.h causes warnings:
>>>>
>>>> ..\inline.h(629) : warning C4244: '+=' : conversion from 'unsigned
>>>> __int64 ' to 'unsigned int ', possible loss of data
>>>> ..\inline.h(733) : warning C4244: '+=' : conversion from 'unsigned
>>>> __int64 ' to 'unsigned int ', possible loss of data
>>>>
>>>> 2) the build still fails, now during Encode:
>>>>
>>>> panic: _force_out_malformed_utf8_message should be called only when
>>>> there are errors found at Makefile.PL line 136.
>>>> Unsuccessful Makefile.PL(cpan/Encode): code=65280 at ..\make_ext.pl line
>>>> 518.
>>>> NMAKE : fatal error U1077: '..\miniperl.exe' : return code '0x2'
>>>> Stop.
>>>>
>>>> I haven't looked into whether such problems (the second in particular)
>>>> exist on blead with VC6 prior to the inline.h changes anyway. I will
>>>> check that later and get back to you.
>>>
>>>
>>> With current blead but commit 1d2af5744d75143cf7ee8bfd33d4366a95dd1b95
>>> reverted, problem 1) still occurs anyway (on line 523), but I don't
>>> see problem 2) now.
>>>
>>> So smoke-me/khw-variant fixes the inline.h problem, but introduces
>>> some new problem with Encode. I tried the branch with VC++ 2017 too
>>> and that works fine, so the Encode problem is probably VC6-specific
>>> again.
>>>
>>
>> Is it the same hardware you're running each OS version on?
>>
>> I looked at the code, and I think the new warnings are bogus.  blead gives
>> similar warnings in some places on whatever Windows version dromedary has.
>>
>> The panic I would have to look at it more depth.  If it's the same hardware,
>> then I would expect a compiler problem.
> 
> Both compilers were running on the same machine running Windows 8.1.
> 
> I've now tried VC6 and VC14 (VC++ 2015) on a second machine (running
> Windows 7) and I get the same result - VC6 build panics; VC14 is fine.
> 
> It could well be a compiler problem, as you say.
> 

I realized later that a bunch of callers could potentially call the 
function that's not working on VC6, so I thought it best to confine the 
workaround to within that function.  So, 
597ee3f45b478da1456092f63d3ac698ee812786 changed to do that.

When you get around to trying VC6 again, you could make sure this hasn't 
broken it again.

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About