This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: gh function protoypes



> I'm using guile with C++ and I get compiler warnings using some
> gh functions; gh_enter & gh_new_procedureN_M.  These are the warnings:

Please give this patch a try, and see if it fixes things.



1998-10-24  Jim Blandy  <jimb@zwingli.cygnus.com>

	* gh.h (gh_enter, gh_new_procedure0_0, gh_new_procedure0_1,
 	gh_new_procedure0_2, gh_new_procedure1_0, gh_new_procedure1_1,
 	gh_new_procedure1_2, gh_new_procedure2_0, gh_new_procedure2_1,
 	gh_new_procedure2_2, gh_new_procedure3_0, gh_new_procedure4_0,
 	gh_new_procedure5_0): Specify argument types, to appease C++
	compilers.  (Thanks to Brad Bowman.)

Index: gh.h
===================================================================
RCS file: /egcs/carton/cvsfiles/guile/guile-core/libguile/gh.h,v
retrieving revision 1.16
diff -c -c -r1.16 gh.h
*** gh.h	1998/10/19 21:35:35	1.16
--- gh.h	1998/10/25 03:27:23
***************
*** 60,66 ****
  #define EXTINL
  #endif /* __GNUC__ */
  
! void gh_enter(int argc, char *argv[], void (*c_main_prog)());
  void gh_repl(int argc, char *argv[]);
  SCM gh_catch(SCM tag, scm_catch_body_t body, void *body_data,
  	     scm_catch_handler_t handler, void *handler_data);
--- 60,66 ----
  #define EXTINL
  #endif /* __GNUC__ */
  
! void gh_enter(int argc, char *argv[], void (*c_main_prog)(int, char **));
  void gh_repl(int argc, char *argv[]);
  SCM gh_catch(SCM tag, scm_catch_body_t body, void *body_data,
  	     scm_catch_handler_t handler, void *handler_data);
***************
*** 82,99 ****
  
  SCM gh_new_procedure(char *proc_name, SCM (*fn)(),
  		     int n_required_args, int n_optional_args, int varp);
! SCM gh_new_procedure0_0(char *proc_name, SCM (*fn)());
! SCM gh_new_procedure0_1(char *proc_name, SCM (*fn)());
! SCM gh_new_procedure0_2(char *proc_name, SCM (*fn)());
! SCM gh_new_procedure1_0(char *proc_name, SCM (*fn)());
! SCM gh_new_procedure1_1(char *proc_name, SCM (*fn)());
! SCM gh_new_procedure1_2(char *proc_name, SCM (*fn)());
! SCM gh_new_procedure2_0(char *proc_name, SCM (*fn)());
! SCM gh_new_procedure2_1(char *proc_name, SCM (*fn)());
! SCM gh_new_procedure2_2(char *proc_name, SCM (*fn)());
! SCM gh_new_procedure3_0(char *proc_name, SCM (*fn)());
! SCM gh_new_procedure4_0(char *proc_name, SCM (*fn)());
! SCM gh_new_procedure5_0(char *proc_name, SCM (*fn)());
  
  /* C to Scheme conversion */
  SCM gh_int2scmb(int x);		/* this is being phased out */
--- 82,99 ----
  
  SCM gh_new_procedure(char *proc_name, SCM (*fn)(),
  		     int n_required_args, int n_optional_args, int varp);
! SCM gh_new_procedure0_0(char *proc_name, SCM (*fn)(void));
! SCM gh_new_procedure0_1(char *proc_name, SCM (*fn)(SCM));
! SCM gh_new_procedure0_2(char *proc_name, SCM (*fn)(SCM, SCM));
! SCM gh_new_procedure1_0(char *proc_name, SCM (*fn)(SCM));
! SCM gh_new_procedure1_1(char *proc_name, SCM (*fn)(SCM, SCM));
! SCM gh_new_procedure1_2(char *proc_name, SCM (*fn)(SCM, SCM, SCM));
! SCM gh_new_procedure2_0(char *proc_name, SCM (*fn)(SCM, SCM));
! SCM gh_new_procedure2_1(char *proc_name, SCM (*fn)(SCM, SCM, SCM));
! SCM gh_new_procedure2_2(char *proc_name, SCM (*fn)(SCM, SCM, SCM, SCM));
! SCM gh_new_procedure3_0(char *proc_name, SCM (*fn)(SCM, SCM, SCM));
! SCM gh_new_procedure4_0(char *proc_name, SCM (*fn)(SCM, SCM, SCM, SCM));
! SCM gh_new_procedure5_0(char *proc_name, SCM (*fn)(SCM, SCM, SCM, SCM, SCM));
  
  /* C to Scheme conversion */
  SCM gh_int2scmb(int x);		/* this is being phased out */