[m-dev.] Compiler wont compile

Ralph Becket rafe at cs.mu.OZ.AU
Wed Feb 6 15:00:07 AEDT 2002


Michael Wybrow, Wednesday,  6 February 2002:
> 
> Hi,
> 
> I just did a cvs update about ten minutes ago and can no longer compile
> my workspace, I guess someone has checked in something they shouldn't.  :)
> 
> It currently dies while compiling std_util.m with
> 
> type_desc.int:020: In function `type_desc:make_type/2':
> type_desc.int:020:   warning: unnecessary `promise_pure' pragma.
> type_desc.int:020:   This function does not invoke any impure or semipure
> code,
> type_desc.int:020:   so there is no need for a `promise_pure' pragma.
> For more information, try recompiling with `-E'.
> gmake[1]: *** [std_util.trans_opt_date] Error 1
> 
> 
> Any ideas?

This predicate (defined in the library directory) uses language specific
clauses.  A C clause correctly includes "promise_pure" on the attribute
list, but the Mercury clause that just calls sorry has an associated
pragma promise_pure which is not necessary for the Mercury clause.
However, commenting it out leads to an error message from the compiler.

I suspect the problem lies with the recent "foreign language clauses
assumed impure by default" change.  Tyson?

- Ralph
--------------------------------------------------------------------------
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