Inconsistency between the declaration of three function prototypes in header file gprolog.h and atom.h

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Inconsistency between the declaration of three function prototypes in header file gprolog.h and atom.h

Gustavo Brown - INCO
 
Hi,
 There is an inconsistency between the declaration of function prototypes in header file gprolog.h
    int Pl_Create_Atom(const char *atom)
    int Pl_Create_Allocate_Atom(const char *atom)
    int Pl_Find_Atom(const char *atom)
 
and the declaration of the same function prototypes in atom.h, in which the argument (atom) is not const.
The definition of those functions (in atom.c) do not have the argument marked as const either.
 
This gives an error when compiling a project which includes gprolog.h with Visual Studio 2008 (second C linkage of overloaded function XXX not allowed).
 
Machine using: Windows 7
GNU Prolog version 1.4.4
 
Regards,
   Gustavo

_______________________________________________
Bug-prolog mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/bug-prolog
Reply | Threaded
Open this post in threaded view
|

Re: Inconsistency between the declaration of three function prototypes in header file gprolog.h and atom.h

Daniel Diaz-3
Thank for this report,

note however that normally you don’t need to include both gprolog.h and atom.h.
Can you check why do you need this ?

Daniel


Le 2 oct. 2014 à 20:06, Gustavo Brown - INCO <[hidden email]> a écrit :

 
Hi,
 There is an inconsistency between the declaration of function prototypes in header file gprolog.h
    int Pl_Create_Atom(const char *atom)
    int Pl_Create_Allocate_Atom(const char *atom)
    int Pl_Find_Atom(const char *atom)
 
and the declaration of the same function prototypes in atom.h, in which the argument (atom) is not const.
The definition of those functions (in atom.c) do not have the argument marked as const either.
 
This gives an error when compiling a project which includes gprolog.h with Visual Studio 2008 (second C linkage of overloaded function XXX not allowed).
 
Machine using: Windows 7
GNU Prolog version 1.4.4
 
Regards,
   Gustavo

-- 
Ce message a été vérifié par MailScanner pour des virus ou des polluriels et rien de suspect n'a été trouvé. _______________________________________________
Bug-prolog mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/bug-prolog


--
Ce message a été vérifié par MailScanner pour des virus ou des polluriels et rien de suspect n'a été trouvé.
_______________________________________________
Bug-prolog mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/bug-prolog
Reply | Threaded
Open this post in threaded view
|

Re: Inconsistency between the declaration of three function prototypes in header file gprolog.h and atom.h

Gustavo Brown - INCO
I am including gprolog.h and engine_pl.h which in turn itself includes atom.h
The reason to include engine_pl.h is to access some structures of the gprolog engine (AtomInfo, WamWord, etc) to perform some mark & sweep cleanup (GC) of the atom table.
However i also need access to some high level functions declared in gprolog.h (Pl_Create_Atom, etc).
 
Regards,
   Gustavo
----- Original Message -----
Sent: Sunday, October 05, 2014 6:00 AM
Subject: Re: Inconsistency between the declaration of three function prototypes in header file gprolog.h and atom.h

Thank for this report,

note however that normally you don’t need to include both gprolog.h and atom.h.
Can you check why do you need this ?

Daniel


Le 2 oct. 2014 à 20:06, Gustavo Brown - INCO <[hidden email]> a écrit :

 
Hi,
 There is an inconsistency between the declaration of function prototypes in header file gprolog.h
    int Pl_Create_Atom(const char *atom)
    int Pl_Create_Allocate_Atom(const char *atom)
    int Pl_Find_Atom(const char *atom)
 
and the declaration of the same function prototypes in atom.h, in which the argument (atom) is not const.
The definition of those functions (in atom.c) do not have the argument marked as const either.
 
This gives an error when compiling a project which includes gprolog.h with Visual Studio 2008 (second C linkage of overloaded function XXX not allowed).
 
Machine using: Windows 7
GNU Prolog version 1.4.4
 
Regards,
   Gustavo

-- 
Ce message a été vérifié par MailScanner pour des virus ou des polluriels et rien de suspect n'a été trouvé. _______________________________________________
Bug-prolog mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/bug-prolog


--
Ce message a été vérifié par MailScanner pour des virus ou des polluriels et rien de suspect n'a été trouvé.

_______________________________________________
Bug-prolog mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/bug-prolog
Reply | Threaded
Open this post in threaded view
|

Re: Inconsistency between the declaration of three function prototypes in header file gprolog.h and atom.h

Daniel Diaz-3
Hi,

I see. In this case maybe it is better to include this:

#include "engine_pl.h"
#include "bips_pl.h"

(bips_pl.h is in BipsPl, maybe you need to pass -I<some prefix like ..>/BipsPl to your C compiler.

Daniel


Le 06/10/2014 16:47, Gustavo Brown - INCO a écrit :
I am including gprolog.h and engine_pl.h which in turn itself includes atom.h
The reason to include engine_pl.h is to access some structures of the gprolog engine (AtomInfo, WamWord, etc) to perform some mark & sweep cleanup (GC) of the atom table.
However i also need access to some high level functions declared in gprolog.h (Pl_Create_Atom, etc).
 
Regards,
   Gustavo
----- Original Message -----
Sent: Sunday, October 05, 2014 6:00 AM
Subject: Re: Inconsistency between the declaration of three function prototypes in header file gprolog.h and atom.h

Thank for this report,

note however that normally you don’t need to include both gprolog.h and atom.h.
Can you check why do you need this ?

Daniel


Le 2 oct. 2014 à 20:06, Gustavo Brown - INCO <[hidden email]> a écrit :

 
Hi,
 There is an inconsistency between the declaration of function prototypes in header file gprolog.h
    int Pl_Create_Atom(const char *atom)
    int Pl_Create_Allocate_Atom(const char *atom)
    int Pl_Find_Atom(const char *atom)
 
and the declaration of the same function prototypes in atom.h, in which the argument (atom) is not const.
The definition of those functions (in atom.c) do not have the argument marked as const either.
 
This gives an error when compiling a project which includes gprolog.h with Visual Studio 2008 (second C linkage of overloaded function XXX not allowed).
 
Machine using: Windows 7
GNU Prolog version 1.4.4
 
Regards,
   Gustavo



--
Ce message a été vérifié par MailScanner pour des virus ou des polluriels et rien de suspect n'a été trouvé.
_______________________________________________
Bug-prolog mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/bug-prolog