[m-dev.] bug fixes for module qualified cons_ids
Simon TAYLOR
stayl at students.cs.mu.oz.au
Wed Apr 2 09:06:20 AEST 1997
Hi Fergus,
> > Currently the `.opt' files are written out immediately after type-checking,
> > so mode inference cannot be supported without running mode analysis as well.
> > Is the extra compilation time worth it? Actually, the check added here
> > is unnecessary, since exported predicates must have modes declared, so I've
> > removed it.
>
> Uh, I think that is wrong. Predicates that are not exported may still
> get put in the `.opt' file, if they are called by exported predicates.
> So, unless I am mistaken, that removal is a bug. Please scrap my previous
> "That looks fine" comment; you should fix this bug before committing this
> stuff.
>
intermod.m currently doesn't put an exported predicate's definition in the
`.opt' file if it calls predicates without modes declared.
>
> Yes, but what is the point of running the unused_args pass, if the `.opt'
> file has already been written out? Where does the information in the
> unused_args pass get saved? It looks to me like it just gets discarded,
> i.e. the --intermod-unused-args option doesn't work.
>
unused_args.m appends some pragmas on to the end of the `.opt' file,
e.g. :- pragma unused_args(predicate, list:append, 3, 0, [1]).
Simon.
More information about the developers
mailing list