intermodule optimization bug

Simon Taylor stayl at cs.mu.OZ.AU
Sun Feb 15 18:55:27 AEDT 1998


> When compiling with intermodule optimization enabled,
> private equivalence types in imported modules are visible,
> so previously abstract types may become concrete.

> This happens before semantic checking, so it affects whether
> or not the compiler reports type errors.  Clearly it can
> make type errors go away. 

This problem does not come up when using mmake, since
the `.c' file depends on the `.opt' file for the module.
The `.opt' file for a module is created without looking
at the `.opt' files for other modules.

> Less obvious is the fact that it
> can also introduce ambiguity errors into code that would
> otherwise be ambiguity-free. 

Maybe we should reserve a functor (it doesn't absolutely
have to be an operator) for type qualification so that we
can enable the code to output type qualifications for code
in `.opt' files. Any suggestions?

Simon.



More information about the developers mailing list