[m-rev.] for post-commit review: mark input specialized procedures

Julien Fischer jfischer at opturion.com
Sat Aug 29 00:28:06 AEST 2026


On Thu, 27 Aug 2026 at 19:28, Zoltan Somogyi <zoltan.somogyi at runbox.com> wrote:
>

You didn't post the diff, so this review is based on what was committed.

>     Mark procedures involved in input specialization as such.

...

>     library/time.m:
>         Mark foreign_procs as terminating, when it is clear they are.

The termination of those foreign_procs should be implied by the
presence of the will_not_call_mercury attribute.

>         Mark a Mercury predicate as terminating.
>
>         Both of these were needed to fully explore the effects of
>         a piece of unclear code in compiler/termination.m.

...

> diff --git a/compiler/term_constr_main.m b/compiler/term_constr_main.m
> index 5f39e4631..7bffd3777 100644
> --- a/compiler/term_constr_main.m
> +++ b/compiler/term_constr_main.m
> @@ -29,8 +29,8 @@
>  %   builtin predicates, and also sets the termination properties of
>  %   predicates that have either termination pragmas, or have termination
>  %   assertions among their foreign_proc attributes. It also sets up
> -%   information imported from `.opt' and `.trans_opt' files. ("sets up"
> -%   in what sense?"
> +%   information imported from `.opt' and `.trans_opt' files.
> +%   XXX "sets up" in what sense?

"Sets up" refers to converting the information encoded in termination2_info
pragmas into the internal representation used by the analysis.

The diff itself looks fine.

Julien.


More information about the reviews mailing list