[m-dev.] diff: fix Aditi intermodule optimization bug
Simon TAYLOR
stayl at cs.mu.OZ.AU
Tue Jun 27 15:35:18 AEST 2000
Estimated hours taken: 0.5
compiler/dead_proc_elim.m:
Don't throw away the declarations for base relations defined
in the current module when compiling with
`--intermodule-optimization'. magic.m and rl_out.pp need the
declarations to generate interface and update procedures
for the base relations.
Index: dead_proc_elim.m
===================================================================
RCS file: /home/staff/zs/imp/mercury/compiler/dead_proc_elim.m,v
retrieving revision 1.55
diff -u -u -r1.55 dead_proc_elim.m
--- dead_proc_elim.m 2000/04/11 07:56:55 1.55
+++ dead_proc_elim.m 2000/06/26 05:16:25
@@ -800,6 +800,11 @@
\+ pred_info_is_imported(PredInfo),
\+ pred_info_import_status(PredInfo, opt_imported)
;
+ % Don't eliminate predicates declared in this module
+ % with a `:- external' or `:- pragma base_relation'
+ % declaration.
+ module_info_name(ModuleInfo, PredModule)
+ ;
% Don't eliminate <foo>_init_any/1 predicates;
% modes.m may insert calls to them to initialize
% variables from inst `free' to inst `any'.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to: mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions: mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------
More information about the developers
mailing list