[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