Re: addsuffix manual example wrong, se_implicit test 4 fails.

"John E. Malmberg" <[email protected]> Fri, 03 Oct 2014 17:38:24 -0500
Newsgroups gmane.comp.gnu.make.devel
Message-ID <[email protected]>
On 9/23/2014 8:00 AM, John E. Malmberg wrote:
> On 9/19/2014 1:01 AM, John E. Malmberg wrote:
>>
>> I was looking in the wrong place.  The pattern_search routine in
>> implicit.c appears to be the culprit.
>>
>> It needs to be able to handle paths in both VMS syntax or in Unix syntax
>> under VMS.

Still working on a fix:

Found another VMS specific bug in dir.c (dir_contents_file_exists_p)

This always returns that a file exists because first it calls 
downcase(filename) which replaces filename with a static pointer.

Then a few lines later only on VMS, it does:
    df->name = strcache_add_len(downcase(d->d_name), len);

This overwrites where filename points with the lower case contents of 
d->d_name.

And finally a test is to see if d->d_name is the same as filename, and 
since they are both pointing at the same static storage, it results in 
the file being marked as found.

This causes a false positive on a rule test.

So I need to fix that.

On a future note, on current VMS, the Case sensitive filesystem 
attribute is a per process property, so we will need a global variable 
to contain the status.  I am not going to address that issue at this time.

Regards,
-John
[email protected]