[mercury-users] rotd-2002-12-03 -- C interface problem

Ondrej Bojar oboj7042 at ss1000.ms.mff.cuni.cz
Wed Dec 11 03:30:26 AEDT 2002


Hi.

I recently switched from rotd-2002-09-24 to rotd-2002-12-03 and there is
something new with the C interface.

First of all: mmc now generates .mh and .mih files for every module
(even if it doesn't export anything for C) and mmc has stopped generating
.h files for modules than *do* export some functions.

What are the .mh and .mih files and what should I fix to get .h files as
well? (So far I do #include .mh instead of .h and it worked in some
cases.)

And the second question is a bit foolish: My source code of a project is
rather untidy; I had to export my own predicates to construct mercury
lists from C++ (the default macros worked in C only, is that still true
with rotd-2002-12-03?). But now, the modules don't compile. Is this my
fault?

Thanks, Andrew.

Listing follows:

mgnuc --high-level-code     --c-debug --no-c-optimize -I ../milan -I
../../../src/ent/mikulas/simple/   -- -I../../../src/shared/ -I.
-I../../../src/shared/comm/ -I../../../src/ent/mikulas/simple/ -g      -c
db_cint.cc
gcc: Ambiguous abbreviation --
In file included from
/afs/ms/projects/enti/BIG/mercury-rotd-2002-12-03/lib/mercury/inc/mercury.h:31,
                 from my_MR_list_internal.mh:14,
                 from my_MR_list.h:8,
                 from db_cint.h:8,
                 from db_cint.cc:2:
/afs/ms/projects/enti/BIG/mercury-rotd-2002-12-03/lib/mercury/inc/mercury_type_info.h:105:
conflicting
types for `union MR_TrieNode'
/afs/ms/projects/enti/BIG/mercury-rotd-2002-12-03/lib/mercury/inc/mercury_types.h:136:
previous
declaration as `typedef union MR_TableNode *MR_TrieNode'
In file included from
/afs/ms/projects/enti/BIG/mercury-rotd-2002-12-03/lib/mercury/inc/mercury_ho_call.h:21,
                 from
/afs/ms/projects/enti/BIG/mercury-rotd-2002-12-03/lib/mercury/inc/mercury.h:33,
                 from my_MR_list_internal.mh:14,
                 from my_MR_list.h:8,
                 from db_cint.h:8,
                 from db_cint.cc:2:
/afs/ms/projects/enti/BIG/mercury-rotd-2002-12-03/lib/mercury/inc/mercury_stack_layout.h:680:
field
`MR_exec_tabling_pointer' has incomplete type



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



More information about the users mailing list