[m-rev.] for review: pragma foreign_import_module on the IL backend

Simon Taylor stayl at cs.mu.OZ.AU
Sat Dec 21 01:51:46 AEDT 2002


On 20-Dec-2002, Peter Ross <pro at missioncriticalit.com> wrote:
> On Fri, Dec 13, 2002 at 05:48:38PM +1100, Simon Taylor wrote:
> > On 10-Dec-2002, Peter Ross <pro at missioncriticalit.com> wrote:
> > > Index: compiler/modules.m
> > > ===================================================================
> > > @@ -2833,10 +2844,10 @@
> > >  	% scripts/Mmake.rules).
> > >  	% 
> > >  :- pred write_foreign_dependency_for_il(io__output_stream::in,sym_name::in,
> > > -		list(module_name)::in, foreign_language::in,
> > > -		io__state::di, io__state::uo) is det.
> > > -write_foreign_dependency_for_il(DepStream, ModuleName, AllDeps, ForeignLang)
> > > -		-->
> > > +		list(module_name)::in, foreign_import_module_info::in,
> > > +		foreign_language::in, io__state::di, io__state::uo) is det.
> > > +write_foreign_dependency_for_il(DepStream, ModuleName, AllDeps,
> > > +		ForeignImports, ForeignLang) -->
> > >  	( 
> > >  		{ ForeignModuleName = foreign_language_module_name(
> > >  			ModuleName, ForeignLang) },
> > > @@ -2880,8 +2891,13 @@
> > >  			;
> > >  				Prefix = "/r:"
> > >  			},
> > > +			{ ForeignDeps = list__map(
> > > +				(func(M) =
> > > +					foreign__module_name(M, ModuleName)
> > > +				), ForeignImports) },
> > > +			{ Deps = AllDeps ++ ForeignDeps },
> > >  			write_dll_dependencies_list(
> > > -				referenced_dlls(ModuleName, AllDeps),
> > > +				referenced_dlls(ModuleName, Deps),
> > >  				Prefix, DepStream),
> > >  			io__nl(DepStream)
> > 
> > I'm not sure why Deps can't just be ForeignDeps.
> > At least it deserves a comment.
> > 
> Because in mlds_to_managed__output_language_specific_header_code we output a
> #using for each of the imports for MC++ and we do something similar in
> modules.m for C#.
> 
> Are you sure that this needs a comment?  Why were you unsure?

I don't understand why are we adding #using declarations for all imports,
not just the modules for which there are foreign_import_module declarations.

Simon.
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list