Fix conflicts with external declarations when using the C++ compiler

This commit is contained in:
jjgarcia 2005-01-13 11:03:18 +00:00
parent 9116e09331
commit 7305685ae2
4 changed files with 11 additions and 4 deletions

View file

@ -87,7 +87,7 @@ flatinstall: $(HFILES)
ranlib $@
clean:
$(RM) dpp *.c $(OBJS) ../libecl.a cinit.o core a.out
$(RM) dpp *.c *.h $(OBJS) ../libecl.a cinit.o core a.out
# Build rules

View file

@ -194,7 +194,9 @@
;; to the runtime.
((and (setf fd (get-sysprop fname 'Lfun))
(multiple-value-setq (minarg maxarg) (get-proclaimed-narg fname)))
(call-exported-function fname narg args fd minarg maxarg nil))
(call-exported-function fname narg args fd minarg maxarg
#-ecl-min nil
#+ecl-min (member fname *in-all-symbols-functions*)))
((multiple-value-setq (found fd minarg maxarg) (si::mangle-name fname t))
(call-exported-function fname narg args fd minarg maxarg t))

View file

@ -97,6 +97,8 @@
(wt-h "#ifdef __cplusplus")
(wt-h "extern \"C\" {")
(wt-h "#endif")
(when si::*compiler-constants*
(wt-h "#include <string.h>"))
;;; Initialization function.
(let* ((*lcl* 0) (*lex* 0) (*max-lex* 0) (*max-env* 0) (*max-temp* 0)
(*reservation-cmacro* (next-cmacro))

View file

@ -1645,13 +1645,15 @@ extern cl_object cl_pprint_dispatch _ARGS((cl_narg narg, cl_object V1, ...));
extern cl_object cl_set_pprint_dispatch _ARGS((cl_narg narg, cl_object V1, cl_object V2, ...));
#ifdef CLOS
/* defclass.lsp */
extern cl_object clos_ensure_class _ARGS((cl_narg narg, cl_object V1, ...));
/* combin.lsp */
extern cl_object cl_method_combination_error _ARGS((cl_narg narg, cl_object format, ...));
extern cl_object cl_invalid_method_error _ARGS((cl_narg narg, cl_object method, cl_object format, ...));
#if 0
/* defclass.lsp */
extern cl_object clos_ensure_class _ARGS((cl_narg narg, cl_object V1, ...));
/* kernel.lsp */
extern cl_object clos_class_id _ARGS((cl_narg narg, cl_object V1, ...));
extern cl_object clos_class_direct_superclasses _ARGS((cl_narg narg, cl_object V1, ...));
@ -1677,6 +1679,7 @@ extern cl_object clos_install_method _ARGS((cl_narg narg, cl_object V1, cl_objec
/* standard.lsp */
extern cl_object clos_standard_instance_set _ARGS((cl_narg narg, cl_object V1, cl_object V2, cl_object V3, ...));
#endif
#endif
#ifdef __cplusplus
}