[m-rev.] for review: filename extensions

Julien Fischer jfischer at opturion.com
Fri Aug 14 23:05:18 AEST 2020


On Fri, 14 Aug 2020, Zoltan Somogyi wrote:

> 2020-08-14 17:51 GMT+10:00 "Julien Fischer" <jfischer at opturion.com>
>> On Thu, 13 Aug 2020, Zoltan Somogyi wrote:
>>
>>> For review by anyone. I have bootchecked this in C# and Java grades
>>> as well as C grades.
>>
>> For future changes building on this, I suspect where we may see any
>> breakage is in Windows vs. non-Windows systems.
>
> Yes; I don't intend to commit any changes that affect Windows-specific
> extensions without asking someone who uses Windows to try it out first.

Intestingly enough this change did break something, while the C# grade
bootchecks, library installation in the C# grade now causes the compiler
to abort:

     Making mer_std.dll

     ...

     Uncaught Mercury exception:
     Software Error: predicate `parse_tree.file_names.choose_file_name'/9:
     Unexpected: unknown extension `int'
     Stack dump not available in this grade.
     gmake[1]: *** [libmer_std.install] Error 1
     gmake[1]: Leaving directory

> Actually, I also did two bootchecks with hlc.gc with Mmake.stage.params
> containing --use-subdirs and --use-grade-subdirs respectively.
> Both failed immediately after making stage 2 dependencies,
> complaining about undefined mmake variables such as mer_std.mhs.
> However, this was not due to this diff; a workspace without this diff
> generated the same error under the same conditions. I am guessing,
> since I haven't looked into this yet, that the compiler is generating
> a definition not for e.g. mer_std.mhs, but for Mercury/mhs/mer_std.mhs,
> because it is treating the mmake target name as if it were a file name,
> which is exactly the kind of problem that this diff documents, and
> whose future fix it is trying to prepare for.
>
> The failures were news to me, since I never use subdirs of either flavor
> with C grades. Does anyone? Is it even supposed to work?

--use-grade-subdirs is not supposed to work with mmake (only mmc --make).

--use-subdirs is supposed to work with mmake (if the user's guide is to
be believed).

Julien.


More information about the reviews mailing list