[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
MSVC compiler support [patch 17]: octinterp.dll exported symbols
From: |
Michael Goffioul |
Subject: |
MSVC compiler support [patch 17]: octinterp.dll exported symbols |
Date: |
Tue, 17 Oct 2006 21:51:45 +0200 |
User-agent: |
Thunderbird 1.5.0.7 (Windows/20060909) |
Defines symbols exported by octinterp DLL
Index: src/defun-int.h
===================================================================
RCS file: /cvs/octave/src/defun-int.h,v
retrieving revision 1.55
diff -p -c -r1.55 defun-int.h
*** src/defun-int.h 22 Jun 2006 00:57:28 -0000 1.55
--- src/defun-int.h 17 Oct 2006 11:07:42 -0000
*************** Software Foundation, Inc., 51 Franklin S
*** 34,66 ****
class octave_value;
! extern void print_usage (void);
! extern void print_usage (const std::string&) GCC_ATTR_DEPRECATED;
! extern void check_version (const std::string& version, const std::string&
fcn);
! extern void
install_builtin_mapper (octave_mapper *mf);
! extern void
install_builtin_function (octave_builtin::fcn f, const std::string& name,
const std::string& doc, bool is_text_fcn = false,
bool can_hide_function = true);
! extern void
install_dld_function (octave_dld_function::fcn f, const std::string& name,
const octave_shlib& shl,
const std::string& doc, bool is_text_fcn = false);
! extern void
install_mex_function (void *fptr, bool fmex, const std::string& name,
const octave_shlib& shl, bool is_text_fcn = false);
! extern void
alias_builtin (const std::string& alias, const std::string& name);
#define DECLARE_FUNX(name, args_name, nargout_name) \
! octave_value_list \
name (const octave_value_list& args_name, int nargout_name)
#define DECLARE_FUN(name, args_name, nargout_name) \
--- 34,72 ----
class octave_value;
! extern OCTINTERP_API void print_usage (void);
! extern OCTINTERP_API void print_usage (const std::string&)
GCC_ATTR_DEPRECATED;
! extern OCTINTERP_API void check_version (const std::string& version, const
std::string& fcn);
! extern OCTINTERP_API void
install_builtin_mapper (octave_mapper *mf);
! extern OCTINTERP_API void
install_builtin_function (octave_builtin::fcn f, const std::string& name,
const std::string& doc, bool is_text_fcn = false,
bool can_hide_function = true);
! extern OCTINTERP_API void
install_dld_function (octave_dld_function::fcn f, const std::string& name,
const octave_shlib& shl,
const std::string& doc, bool is_text_fcn = false);
! extern OCTINTERP_API void
install_mex_function (void *fptr, bool fmex, const std::string& name,
const octave_shlib& shl, bool is_text_fcn = false);
! extern OCTINTERP_API void
alias_builtin (const std::string& alias, const std::string& name);
+ #ifdef _MSC_VER
+ #define EXPORT __declspec(dllexport)
+ #else
+ #define EXPORT
+ #endif
+
#define DECLARE_FUNX(name, args_name, nargout_name) \
! EXPORT octave_value_list \
name (const octave_value_list& args_name, int nargout_name)
#define DECLARE_FUN(name, args_name, nargout_name) \
*************** typedef bool (*octave_dld_fcn_installer)
*** 89,94 ****
--- 95,101 ----
#define DEFINE_FUNX_INSTALLER_FUN3(name, fname, fsname, doc, cxx_abi) \
extern "C" \
+ EXPORT \
bool \
fsname ## _ ## cxx_abi (const octave_shlib& shl) \
{ \
Index: src/error.h
===================================================================
RCS file: /cvs/octave/src/error.h,v
retrieving revision 1.39
diff -p -c -r1.39 error.h
*** src/error.h 26 Jul 2006 17:19:10 -0000 1.39
--- src/error.h 17 Oct 2006 11:07:42 -0000
*************** Software Foundation, Inc., 51 Franklin S
*** 30,84 ****
panic ("impossible state reached in file `%s' at line %d", \
__FILE__, __LINE__)
! extern void reset_error_handler (void);
! extern int warning_enabled (const std::string& id);
! extern void message (const char *name, const char *fmt, ...);
! extern void usage (const char *fmt, ...);
! extern void warning (const char *fmt, ...);
! extern void error (const char *fmt, ...);
! extern void parse_error (const char *fmt, ...);
! extern void
message_with_id (const char *id, const char *name, const char *fmt, ...);
! extern void
usage_with_id (const char *id, const char *fmt, ...);
! extern void
warning_with_id (const char *id, const char *fmt, ...);
! extern void
error_with_id (const char *id, const char *fmt, ...);
! extern void
parse_error_with_id (const char *id, const char *fmt, ...);
! extern void panic (const char *fmt, ...) GCC_ATTR_NORETURN;
// Helper function for print_usage defined in defun.cc.
! extern void defun_usage_message (const std::string& msg);
! extern void disable_warning (const std::string& id);
! extern void initialize_default_warning_state (void);
// Current error state.
! extern int error_state;
// Current warning state.
! extern int warning_state;
// Tell the error handler whether to print messages, or just store
// them for later. Used for handling errors in eval() and
// the `unwind_protect' statement.
! extern int buffer_error_messages;
// TRUE means error messages are turned off.
! extern bool discard_error_messages;
// TRUE means warning messages are turned off.
! extern bool discard_warning_messages;
#endif
--- 30,84 ----
panic ("impossible state reached in file `%s' at line %d", \
__FILE__, __LINE__)
! extern OCTINTERP_API void reset_error_handler (void);
! extern OCTINTERP_API int warning_enabled (const std::string& id);
! extern OCTINTERP_API void message (const char *name, const char *fmt, ...);
! extern OCTINTERP_API void usage (const char *fmt, ...);
! extern OCTINTERP_API void warning (const char *fmt, ...);
! extern OCTINTERP_API void error (const char *fmt, ...);
! extern OCTINTERP_API void parse_error (const char *fmt, ...);
! extern OCTINTERP_API void
message_with_id (const char *id, const char *name, const char *fmt, ...);
! extern OCTINTERP_API void
usage_with_id (const char *id, const char *fmt, ...);
! extern OCTINTERP_API void
warning_with_id (const char *id, const char *fmt, ...);
! extern OCTINTERP_API void
error_with_id (const char *id, const char *fmt, ...);
! extern OCTINTERP_API void
parse_error_with_id (const char *id, const char *fmt, ...);
! extern OCTINTERP_API void panic (const char *fmt, ...) GCC_ATTR_NORETURN;
// Helper function for print_usage defined in defun.cc.
! extern OCTINTERP_API void defun_usage_message (const std::string& msg);
! extern OCTINTERP_API void disable_warning (const std::string& id);
! extern OCTINTERP_API void initialize_default_warning_state (void);
// Current error state.
! extern OCTINTERP_API int error_state;
// Current warning state.
! extern OCTINTERP_API int warning_state;
// Tell the error handler whether to print messages, or just store
// them for later. Used for handling errors in eval() and
// the `unwind_protect' statement.
! extern OCTINTERP_API int buffer_error_messages;
// TRUE means error messages are turned off.
! extern OCTINTERP_API bool discard_error_messages;
// TRUE means warning messages are turned off.
! extern OCTINTERP_API bool discard_warning_messages;
#endif
Index: src/file-io.cc
===================================================================
RCS file: /cvs/octave/src/file-io.cc,v
retrieving revision 1.180
diff -p -c -r1.180 file-io.cc
*** src/file-io.cc 16 Oct 2006 17:36:33 -0000 1.180
--- src/file-io.cc 17 Oct 2006 11:07:42 -0000
*************** Software Foundation, Inc., 51 Franklin S
*** 75,80 ****
--- 75,82 ----
#include "utils.h"
#include "variables.h"
+ #include "file-io.h"
+
static octave_value stdin_file;
static octave_value stdout_file;
static octave_value stderr_file;
Index: src/file-io.h
===================================================================
RCS file: /cvs/octave/src/file-io.h,v
retrieving revision 1.21
diff -p -c -r1.21 file-io.h
*** src/file-io.h 26 Apr 2005 19:24:32 -0000 1.21
--- src/file-io.h 17 Oct 2006 11:07:42 -0000
*************** Software Foundation, Inc., 51 Franklin S
*** 26,38 ****
#if !defined (octave_file_io_h)
#define octave_file_io_h 1
! extern void initialize_file_io (void);
! extern void close_files (void);
! extern void mark_for_deletion (const std::string&);
! extern void cleanup_tmp_files (void);
#endif
--- 26,38 ----
#if !defined (octave_file_io_h)
#define octave_file_io_h 1
! extern OCTINTERP_API void initialize_file_io (void);
! extern OCTINTERP_API void close_files (void);
! extern OCTINTERP_API void mark_for_deletion (const std::string&);
! extern OCTINTERP_API void cleanup_tmp_files (void);
#endif
Index: src/gripes.h
===================================================================
RCS file: /cvs/octave/src/gripes.h,v
retrieving revision 1.28
diff -p -c -r1.28 gripes.h
*** src/gripes.h 18 Aug 2006 21:27:04 -0000 1.28
--- src/gripes.h 17 Oct 2006 11:07:42 -0000
*************** Software Foundation, Inc., 51 Franklin S
*** 30,109 ****
class octave_value;
! extern void
gripe_not_supported (const char *);
! extern void
gripe_string_invalid (void);
! extern void
gripe_range_invalid (void);
! extern void
gripe_nonconformant (void);
! extern void
gripe_nonconformant (octave_idx_type r1, octave_idx_type c1, octave_idx_type
r2, octave_idx_type c2);
! extern void
gripe_empty_arg (const char *name, bool is_error);
! extern void
gripe_square_matrix_required (const char *name);
! extern void
gripe_user_supplied_eval (const char *name);
! extern void
gripe_user_returned_invalid (const char *name);
! extern void
gripe_invalid_conversion (const std::string& from, const std::string& to);
! extern void
gripe_invalid_value_specified (const char *name);
! extern void
gripe_2_or_3_dim_plot (void);
! extern void
gripe_unrecognized_float_fmt (void);
! extern void
gripe_unrecognized_data_fmt (const char *warn_for);
! extern void
gripe_data_conversion (const char *from, const char *to);
! extern void
gripe_wrong_type_arg (const char *name, const char *s,
bool is_error = true);
! extern void
gripe_wrong_type_arg (const char *name, const std::string& s,
bool is_error = true);
! extern void
gripe_wrong_type_arg (const char *name, const octave_value& tc,
bool is_error = true);
! extern void
gripe_wrong_type_arg_for_unary_op (const octave_value& op);
! extern void
gripe_wrong_type_arg_for_binary_op (const octave_value& op);
! extern void
gripe_implicit_conversion (const char *id, const char *from, const char *to);
! extern void
gripe_implicit_conversion (const std::string& id, const std::string& from,
const std::string& to);
! extern void
gripe_divide_by_zero (void);
! extern void
gripe_logical_conversion (void);
#endif
--- 30,109 ----
class octave_value;
! extern OCTINTERP_API void
gripe_not_supported (const char *);
! extern OCTINTERP_API void
gripe_string_invalid (void);
! extern OCTINTERP_API void
gripe_range_invalid (void);
! extern OCTINTERP_API void
gripe_nonconformant (void);
! extern OCTINTERP_API void
gripe_nonconformant (octave_idx_type r1, octave_idx_type c1, octave_idx_type
r2, octave_idx_type c2);
! extern OCTINTERP_API void
gripe_empty_arg (const char *name, bool is_error);
! extern OCTINTERP_API void
gripe_square_matrix_required (const char *name);
! extern OCTINTERP_API void
gripe_user_supplied_eval (const char *name);
! extern OCTINTERP_API void
gripe_user_returned_invalid (const char *name);
! extern OCTINTERP_API void
gripe_invalid_conversion (const std::string& from, const std::string& to);
! extern OCTINTERP_API void
gripe_invalid_value_specified (const char *name);
! extern OCTINTERP_API void
gripe_2_or_3_dim_plot (void);
! extern OCTINTERP_API void
gripe_unrecognized_float_fmt (void);
! extern OCTINTERP_API void
gripe_unrecognized_data_fmt (const char *warn_for);
! extern OCTINTERP_API void
gripe_data_conversion (const char *from, const char *to);
! extern OCTINTERP_API void
gripe_wrong_type_arg (const char *name, const char *s,
bool is_error = true);
! extern OCTINTERP_API void
gripe_wrong_type_arg (const char *name, const std::string& s,
bool is_error = true);
! extern OCTINTERP_API void
gripe_wrong_type_arg (const char *name, const octave_value& tc,
bool is_error = true);
! extern OCTINTERP_API void
gripe_wrong_type_arg_for_unary_op (const octave_value& op);
! extern OCTINTERP_API void
gripe_wrong_type_arg_for_binary_op (const octave_value& op);
! extern OCTINTERP_API void
gripe_implicit_conversion (const char *id, const char *from, const char *to);
! extern OCTINTERP_API void
gripe_implicit_conversion (const std::string& id, const std::string& from,
const std::string& to);
! extern OCTINTERP_API void
gripe_divide_by_zero (void);
! extern OCTINTERP_API void
gripe_logical_conversion (void);
#endif
Index: src/ls-oct-ascii.h
===================================================================
RCS file: /cvs/octave/src/ls-oct-ascii.h,v
retrieving revision 1.10
diff -p -c -r1.10 ls-oct-ascii.h
*** src/ls-oct-ascii.h 23 Aug 2006 18:35:39 -0000 1.10
--- src/ls-oct-ascii.h 17 Oct 2006 11:07:42 -0000
*************** Software Foundation, Inc., 51 Franklin S
*** 40,63 ****
#define OCT_RBV DBL_MAX / 100.0
#endif
! extern std::string
extract_keyword (std::istream& is, const char *keyword,
const bool next_only = false);
! extern std::string
read_ascii_data (std::istream& is, const std::string& filename, bool& global,
octave_value& tc, octave_idx_type count);
! extern bool
save_ascii_data (std::ostream& os, const octave_value& val_arg,
const std::string& name, bool& infnan_warned,
bool mark_as_global, int precision);
! extern bool
save_ascii_data_for_plotting (std::ostream& os, const octave_value& t,
const std::string& name);
! extern bool
save_three_d (std::ostream& os, const octave_value& t,
bool parametric = false);
--- 40,63 ----
#define OCT_RBV DBL_MAX / 100.0
#endif
! extern OCTINTERP_API std::string
extract_keyword (std::istream& is, const char *keyword,
const bool next_only = false);
! extern OCTINTERP_API std::string
read_ascii_data (std::istream& is, const std::string& filename, bool& global,
octave_value& tc, octave_idx_type count);
! extern OCTINTERP_API bool
save_ascii_data (std::ostream& os, const octave_value& val_arg,
const std::string& name, bool& infnan_warned,
bool mark_as_global, int precision);
! extern OCTINTERP_API bool
save_ascii_data_for_plotting (std::ostream& os, const octave_value& t,
const std::string& name);
! extern OCTINTERP_API bool
save_three_d (std::ostream& os, const octave_value& t,
bool parametric = false);
Index: src/mex.h
===================================================================
RCS file: /cvs/octave/src/mex.h,v
retrieving revision 1.4
diff -p -c -r1.4 mex.h
*** src/mex.h 11 Oct 2006 19:23:04 -0000 1.4
--- src/mex.h 17 Oct 2006 11:07:42 -0000
*************** void mexFunction (int nlhs, mxArray* plh
*** 75,80 ****
--- 75,86 ----
void mexFunction (int nlhs, mxArray* plhs[], int nrhs, const mxArray *prhs[]);
#endif
+ #ifdef _MSC_VER
+ #ifndef OCTINTERP_API
+ #define OCTINTERP_API __declspec(dllimport)
+ #endif
+ #endif
+
#include "mexproto.h"
/* V4 floating point routines renamed in V5. */
Index: src/mexproto.h
===================================================================
RCS file: /cvs/octave/src/mexproto.h,v
retrieving revision 1.3
diff -p -c -r1.3 mexproto.h
*** src/mexproto.h 22 Jul 2006 08:31:17 -0000 1.3
--- src/mexproto.h 17 Oct 2006 11:07:42 -0000
*************** extern "C" {
*** 61,232 ****
#undef MXARRAY_TYPEDEFS_ONLY
// Interface to the interpreter.
! extern const char *mexFunctionName (void);
! extern int mexCallMATLAB (int nargout, mxArray *argout[], int nargin,
mxArray *argin[], const char *fname);
! extern void mexSetTrapFlag (int flag);
! extern int mexEvalString (const char *s);
! extern void mexErrMsgTxt (const char *s);
! extern void mexErrMsgIdAndTxt (const char *id, const char *s);
! extern void mexWarnMsgTxt (const char *s);
! extern void mexWarnMsgIdAndTxt (const char *id, const char *s);
! extern void mexPrintf (const char *fmt, ...);
! extern mxArray *mexGetVariable (const char *space, const char *name);
! extern const mxArray *mexGetVariablePtr (const char *space, const char *name);
! extern int mexPutVariable (const char *space, const char *name, mxArray *ptr);
! extern void mexMakeArrayPersistent (mxArray *ptr);
! extern void mexMakeMemoryPersistent (void *ptr);
! extern int mexAtExit (void (*f) (void));
! extern const mxArray *mexGet (double handle, const char *property);
! extern int mexIsGlobal (const mxArray *ptr);
! extern int mexIsLocked (void);
! extern void mexLock (void);
! extern int mexSet (double handle, const char *property, mxArray *val);
! extern void mexUnlock (void);
// Floating point predicates.
! extern int mxIsFinite (double v);
! extern int mxIsInf (double v);
! extern int mxIsNaN (double v);
// Floating point values.
! extern double mxGetEps (void);
! extern double mxGetInf (void);
! extern double mxGetNaN (void);
// Memory management.
! extern void *mxCalloc (size_t n, size_t size);
! extern void *mxMalloc (size_t n);
! extern void *mxRealloc (void *ptr, size_t size);
! extern void mxFree (void *ptr);
// Constructors.
! extern mxArray *mxCreateCellArray (int ndims, const int *dims);
! extern mxArray *mxCreateCellMatrix (int m, int n);
! extern mxArray *mxCreateCharArray (int ndims, const int *dims);
! extern mxArray *mxCreateCharMatrixFromStrings (int m, const char **str);
! extern mxArray *mxCreateDoubleMatrix (int nr, int nc, mxComplexity flag);
! extern mxArray *mxCreateDoubleScalar (double val);
! extern mxArray *mxCreateLogicalArray (int ndims, const int *dims);
! extern mxArray *mxCreateLogicalMatrix (int m, int n);
! extern mxArray *mxCreateLogicalScalar (int val);
! extern mxArray *mxCreateNumericArray (int ndims, const int *dims, mxClassID
class_id, mxComplexity flag);
! extern mxArray *mxCreateNumericMatrix (int m, int n, mxClassID class_id,
mxComplexity flag);
! extern mxArray *mxCreateSparse (int m, int n, int nzmax, mxComplexity flag);
! extern mxArray *mxCreateSparseLogicalMatrix (int m, int n, int nzmax);
! extern mxArray *mxCreateString (const char *str);
! extern mxArray *mxCreateStructArray (int ndims, int *dims, int num_keys,
const char **keys);
! extern mxArray *mxCreateStructMatrix (int rows, int cols, int num_keys, const
char **keys);
// Copy constructor.
! extern mxArray *mxDuplicateArray (const mxArray *v);
// Destructor.
! extern void mxDestroyArray (mxArray *v);
// Type Predicates.
! extern int mxIsCell (const mxArray *ptr);
! extern int mxIsChar (const mxArray *ptr);
! extern int mxIsClass (const mxArray *ptr, const char *name);
! extern int mxIsComplex (const mxArray *ptr);
! extern int mxIsDouble (const mxArray *ptr);
! extern int mxIsInt16 (const mxArray *ptr);
! extern int mxIsInt32 (const mxArray *ptr);
! extern int mxIsInt64 (const mxArray *ptr);
! extern int mxIsInt8 (const mxArray *ptr);
! extern int mxIsLogical (const mxArray *ptr);
! extern int mxIsNumeric (const mxArray *ptr);
! extern int mxIsSingle (const mxArray *ptr);
! extern int mxIsSparse (const mxArray *ptr);
! extern int mxIsStruct (const mxArray *ptr);
! extern int mxIsUint16 (const mxArray *ptr);
! extern int mxIsUint32 (const mxArray *ptr);
! extern int mxIsUint64 (const mxArray *ptr);
! extern int mxIsUint8 (const mxArray *ptr);
// Odd type+size predicate.
! extern int mxIsLogicalScalar (const mxArray *ptr);
// Odd type+size+value predicate.
! extern int mxIsLogicalScalarTrue (const mxArray *ptr);
// Size predicate.
! extern int mxIsEmpty (const mxArray *ptr);
// Just plain odd thing to ask of a value.
! extern int mxIsFromGlobalWS (const mxArray *ptr);
// Dimension extractors.
! extern int mxGetM (const mxArray *ptr);
! extern int mxGetN (const mxArray *ptr);
! extern int *mxGetDimensions (const mxArray *ptr);
! extern int mxGetNumberOfDimensions (const mxArray *ptr);
! extern int mxGetNumberOfElements (const mxArray *ptr);
// Dimension setters.
! extern void mxSetM (mxArray *ptr, int M);
! extern void mxSetN (mxArray *ptr, int N);
! extern void mxSetDimensions (mxArray *ptr, int *dims, int ndims);
// Data extractors.
! extern double *mxGetPi (const mxArray *ptr);
! extern double *mxGetPr (const mxArray *ptr);
! extern double mxGetScalar (const mxArray *ptr);
! extern mxChar *mxGetChars (const mxArray *ptr);
! extern mxLogical *mxGetLogicals (const mxArray *ptr);
! extern void *mxGetData (const mxArray *ptr);
! extern void *mxGetImagData (const mxArray *ptr);
// Data setters.
! extern void mxSetPr (mxArray *ptr, double *pr);
! extern void mxSetPi (mxArray *ptr, double *pi);
! extern void mxSetData (mxArray *ptr, void *data);
! extern void mxSetImagData (mxArray *ptr, void *pi);
// Classes.
! extern mxClassID mxGetClassID (const mxArray *ptr);
! extern const char *mxGetClassName (const mxArray *ptr);
! extern void mxSetClassName (mxArray *ptr, const char *name);
// Cell support.
! extern mxArray *mxGetCell (const mxArray *ptr, int idx);
! extern void mxSetCell (mxArray *ptr, int idx, mxArray *val);
// Sparse support.
! extern int *mxGetIr (const mxArray *ptr);
! extern int *mxGetJc (const mxArray *ptr);
! extern int mxGetNzmax (const mxArray *ptr);
!
! extern void mxSetIr (mxArray *ptr, int *ir);
! extern void mxSetJc (mxArray *ptr, int *jc);
! extern void mxSetNzmax (mxArray *ptr, int nzmax);
// Structure support.
! extern int mxAddField (mxArray *ptr, const char *key);
! extern void mxRemoveField (mxArray *ptr, int key_num);
! extern mxArray *mxGetField (const mxArray *ptr, int index, const char *key);
! extern mxArray *mxGetFieldByNumber (const mxArray *ptr, int index, int
key_num);
! extern void mxSetField (mxArray *ptr, int index, const char *key, mxArray
*val);
! extern void mxSetFieldByNumber (mxArray *ptr, int index, int key_num, mxArray
*val);
! extern int mxGetNumberOfFields (const mxArray *ptr);
! extern const char *mxGetFieldNameByNumber (const mxArray *ptr, int key_num);
! extern int mxGetFieldNumber (const mxArray *ptr, const char *key);
! extern int mxGetString (const mxArray *ptr, char *buf, int buflen);
! extern char *mxArrayToString (const mxArray *ptr);
// Miscellaneous.
#ifdef NDEBUG
--- 61,232 ----
#undef MXARRAY_TYPEDEFS_ONLY
// Interface to the interpreter.
! extern OCTINTERP_API const char *mexFunctionName (void);
! extern OCTINTERP_API int mexCallMATLAB (int nargout, mxArray *argout[], int
nargin,
mxArray *argin[], const char *fname);
! extern OCTINTERP_API void mexSetTrapFlag (int flag);
! extern OCTINTERP_API int mexEvalString (const char *s);
! extern OCTINTERP_API void mexErrMsgTxt (const char *s);
! extern OCTINTERP_API void mexErrMsgIdAndTxt (const char *id, const char *s);
! extern OCTINTERP_API void mexWarnMsgTxt (const char *s);
! extern OCTINTERP_API void mexWarnMsgIdAndTxt (const char *id, const char *s);
! extern OCTINTERP_API void mexPrintf (const char *fmt, ...);
! extern OCTINTERP_API mxArray *mexGetVariable (const char *space, const char
*name);
! extern OCTINTERP_API const mxArray *mexGetVariablePtr (const char *space,
const char *name);
! extern OCTINTERP_API int mexPutVariable (const char *space, const char *name,
mxArray *ptr);
! extern OCTINTERP_API void mexMakeArrayPersistent (mxArray *ptr);
! extern OCTINTERP_API void mexMakeMemoryPersistent (void *ptr);
! extern OCTINTERP_API int mexAtExit (void (*f) (void));
! extern OCTINTERP_API const mxArray *mexGet (double handle, const char
*property);
! extern OCTINTERP_API int mexIsGlobal (const mxArray *ptr);
! extern OCTINTERP_API int mexIsLocked (void);
! extern OCTINTERP_API void mexLock (void);
! extern OCTINTERP_API int mexSet (double handle, const char *property, mxArray
*val);
! extern OCTINTERP_API void mexUnlock (void);
// Floating point predicates.
! extern OCTINTERP_API int mxIsFinite (double v);
! extern OCTINTERP_API int mxIsInf (double v);
! extern OCTINTERP_API int mxIsNaN (double v);
// Floating point values.
! extern OCTINTERP_API double mxGetEps (void);
! extern OCTINTERP_API double mxGetInf (void);
! extern OCTINTERP_API double mxGetNaN (void);
// Memory management.
! extern OCTINTERP_API void *mxCalloc (size_t n, size_t size);
! extern OCTINTERP_API void *mxMalloc (size_t n);
! extern OCTINTERP_API void *mxRealloc (void *ptr, size_t size);
! extern OCTINTERP_API void mxFree (void *ptr);
// Constructors.
! extern OCTINTERP_API mxArray *mxCreateCellArray (int ndims, const int *dims);
! extern OCTINTERP_API mxArray *mxCreateCellMatrix (int m, int n);
! extern OCTINTERP_API mxArray *mxCreateCharArray (int ndims, const int *dims);
! extern OCTINTERP_API mxArray *mxCreateCharMatrixFromStrings (int m, const
char **str);
! extern OCTINTERP_API mxArray *mxCreateDoubleMatrix (int nr, int nc,
mxComplexity flag);
! extern OCTINTERP_API mxArray *mxCreateDoubleScalar (double val);
! extern OCTINTERP_API mxArray *mxCreateLogicalArray (int ndims, const int
*dims);
! extern OCTINTERP_API mxArray *mxCreateLogicalMatrix (int m, int n);
! extern OCTINTERP_API mxArray *mxCreateLogicalScalar (int val);
! extern OCTINTERP_API mxArray *mxCreateNumericArray (int ndims, const int
*dims, mxClassID class_id, mxComplexity flag);
! extern OCTINTERP_API mxArray *mxCreateNumericMatrix (int m, int n, mxClassID
class_id, mxComplexity flag);
! extern OCTINTERP_API mxArray *mxCreateSparse (int m, int n, int nzmax,
mxComplexity flag);
! extern OCTINTERP_API mxArray *mxCreateSparseLogicalMatrix (int m, int n, int
nzmax);
! extern OCTINTERP_API mxArray *mxCreateString (const char *str);
! extern OCTINTERP_API mxArray *mxCreateStructArray (int ndims, int *dims, int
num_keys, const char **keys);
! extern OCTINTERP_API mxArray *mxCreateStructMatrix (int rows, int cols, int
num_keys, const char **keys);
// Copy constructor.
! extern OCTINTERP_API mxArray *mxDuplicateArray (const mxArray *v);
// Destructor.
! extern OCTINTERP_API void mxDestroyArray (mxArray *v);
// Type Predicates.
! extern OCTINTERP_API int mxIsCell (const mxArray *ptr);
! extern OCTINTERP_API int mxIsChar (const mxArray *ptr);
! extern OCTINTERP_API int mxIsClass (const mxArray *ptr, const char *name);
! extern OCTINTERP_API int mxIsComplex (const mxArray *ptr);
! extern OCTINTERP_API int mxIsDouble (const mxArray *ptr);
! extern OCTINTERP_API int mxIsInt16 (const mxArray *ptr);
! extern OCTINTERP_API int mxIsInt32 (const mxArray *ptr);
! extern OCTINTERP_API int mxIsInt64 (const mxArray *ptr);
! extern OCTINTERP_API int mxIsInt8 (const mxArray *ptr);
! extern OCTINTERP_API int mxIsLogical (const mxArray *ptr);
! extern OCTINTERP_API int mxIsNumeric (const mxArray *ptr);
! extern OCTINTERP_API int mxIsSingle (const mxArray *ptr);
! extern OCTINTERP_API int mxIsSparse (const mxArray *ptr);
! extern OCTINTERP_API int mxIsStruct (const mxArray *ptr);
! extern OCTINTERP_API int mxIsUint16 (const mxArray *ptr);
! extern OCTINTERP_API int mxIsUint32 (const mxArray *ptr);
! extern OCTINTERP_API int mxIsUint64 (const mxArray *ptr);
! extern OCTINTERP_API int mxIsUint8 (const mxArray *ptr);
// Odd type+size predicate.
! extern OCTINTERP_API int mxIsLogicalScalar (const mxArray *ptr);
// Odd type+size+value predicate.
! extern OCTINTERP_API int mxIsLogicalScalarTrue (const mxArray *ptr);
// Size predicate.
! extern OCTINTERP_API int mxIsEmpty (const mxArray *ptr);
// Just plain odd thing to ask of a value.
! extern OCTINTERP_API int mxIsFromGlobalWS (const mxArray *ptr);
// Dimension extractors.
! extern OCTINTERP_API int mxGetM (const mxArray *ptr);
! extern OCTINTERP_API int mxGetN (const mxArray *ptr);
! extern OCTINTERP_API int *mxGetDimensions (const mxArray *ptr);
! extern OCTINTERP_API int mxGetNumberOfDimensions (const mxArray *ptr);
! extern OCTINTERP_API int mxGetNumberOfElements (const mxArray *ptr);
// Dimension setters.
! extern OCTINTERP_API void mxSetM (mxArray *ptr, int M);
! extern OCTINTERP_API void mxSetN (mxArray *ptr, int N);
! extern OCTINTERP_API void mxSetDimensions (mxArray *ptr, int *dims, int
ndims);
// Data extractors.
! extern OCTINTERP_API double *mxGetPi (const mxArray *ptr);
! extern OCTINTERP_API double *mxGetPr (const mxArray *ptr);
! extern OCTINTERP_API double mxGetScalar (const mxArray *ptr);
! extern OCTINTERP_API mxChar *mxGetChars (const mxArray *ptr);
! extern OCTINTERP_API mxLogical *mxGetLogicals (const mxArray *ptr);
! extern OCTINTERP_API void *mxGetData (const mxArray *ptr);
! extern OCTINTERP_API void *mxGetImagData (const mxArray *ptr);
// Data setters.
! extern OCTINTERP_API void mxSetPr (mxArray *ptr, double *pr);
! extern OCTINTERP_API void mxSetPi (mxArray *ptr, double *pi);
! extern OCTINTERP_API void mxSetData (mxArray *ptr, void *data);
! extern OCTINTERP_API void mxSetImagData (mxArray *ptr, void *pi);
// Classes.
! extern OCTINTERP_API mxClassID mxGetClassID (const mxArray *ptr);
! extern OCTINTERP_API const char *mxGetClassName (const mxArray *ptr);
! extern OCTINTERP_API void mxSetClassName (mxArray *ptr, const char *name);
// Cell support.
! extern OCTINTERP_API mxArray *mxGetCell (const mxArray *ptr, int idx);
! extern OCTINTERP_API void mxSetCell (mxArray *ptr, int idx, mxArray *val);
// Sparse support.
! extern OCTINTERP_API int *mxGetIr (const mxArray *ptr);
! extern OCTINTERP_API int *mxGetJc (const mxArray *ptr);
! extern OCTINTERP_API int mxGetNzmax (const mxArray *ptr);
!
! extern OCTINTERP_API void mxSetIr (mxArray *ptr, int *ir);
! extern OCTINTERP_API void mxSetJc (mxArray *ptr, int *jc);
! extern OCTINTERP_API void mxSetNzmax (mxArray *ptr, int nzmax);
// Structure support.
! extern OCTINTERP_API int mxAddField (mxArray *ptr, const char *key);
! extern OCTINTERP_API void mxRemoveField (mxArray *ptr, int key_num);
! extern OCTINTERP_API mxArray *mxGetField (const mxArray *ptr, int index,
const char *key);
! extern OCTINTERP_API mxArray *mxGetFieldByNumber (const mxArray *ptr, int
index, int key_num);
! extern OCTINTERP_API void mxSetField (mxArray *ptr, int index, const char
*key, mxArray *val);
! extern OCTINTERP_API void mxSetFieldByNumber (mxArray *ptr, int index, int
key_num, mxArray *val);
! extern OCTINTERP_API int mxGetNumberOfFields (const mxArray *ptr);
! extern OCTINTERP_API const char *mxGetFieldNameByNumber (const mxArray *ptr,
int key_num);
! extern OCTINTERP_API int mxGetFieldNumber (const mxArray *ptr, const char
*key);
! extern OCTINTERP_API int mxGetString (const mxArray *ptr, char *buf, int
buflen);
! extern OCTINTERP_API char *mxArrayToString (const mxArray *ptr);
// Miscellaneous.
#ifdef NDEBUG
*************** extern char *mxArrayToString (const mxAr
*** 257,265 ****
#define mxAssertS(expr, msg)
#endif
! extern int mxCalcSingleSubscript (const mxArray *ptr, int nsubs, int *subs);
! extern int mxGetElementSize (const mxArray *ptr);
#if defined (__cplusplus)
}
--- 257,265 ----
#define mxAssertS(expr, msg)
#endif
! extern OCTINTERP_API int mxCalcSingleSubscript (const mxArray *ptr, int
nsubs, int *subs);
! extern OCTINTERP_API int mxGetElementSize (const mxArray *ptr);
#if defined (__cplusplus)
}
Index: src/oct-map.h
===================================================================
RCS file: /cvs/octave/src/oct-map.h,v
retrieving revision 1.49
diff -p -c -r1.49 oct-map.h
*** src/oct-map.h 14 Aug 2006 19:08:37 -0000 1.49
--- src/oct-map.h 17 Oct 2006 11:07:42 -0000
*************** Software Foundation, Inc., 51 Franklin S
*** 32,37 ****
--- 35,41 ----
class string_vector;
class
+ OCTINTERP_API
Octave_map
{
public:
Index: src/oct-obj.h
===================================================================
RCS file: /cvs/octave/src/oct-obj.h,v
retrieving revision 1.50
diff -p -c -r1.50 oct-obj.h
*** src/oct-obj.h 7 Jun 2006 18:16:16 -0000 1.50
--- src/oct-obj.h 17 Oct 2006 11:07:42 -0000
*************** Software Foundation, Inc., 51 Franklin S
*** 33,38 ****
--- 33,39 ----
#include "ov.h"
class
+ OCTINTERP_API
octave_value_list
{
public:
Index: src/oct-stream.cc
===================================================================
RCS file: /cvs/octave/src/oct-stream.cc,v
retrieving revision 1.134
diff -p -c -r1.134 oct-stream.cc
*** src/oct-stream.cc 16 Oct 2006 17:53:53 -0000 1.134
--- src/oct-stream.cc 17 Oct 2006 11:07:42 -0000
*************** Software Foundation, Inc., 51 Franklin S
*** 53,58 ****
--- 53,61 ----
#include "oct-obj.h"
#include "utils.h"
+ #undef OCTAVE_API
+ #define OCTAVE_API
+
// Possible values for conv_err:
//
// 1 : not a real scalar
Index: src/oct-stream.h
===================================================================
RCS file: /cvs/octave/src/oct-stream.h,v
retrieving revision 1.48
diff -p -c -r1.48 oct-stream.h
*** src/oct-stream.h 17 Apr 2006 05:05:17 -0000 1.48
--- src/oct-stream.h 17 Oct 2006 11:07:42 -0000
*************** class octave_value_list;
*** 39,44 ****
--- 39,45 ----
#include "mach-info.h"
class
+ OCTINTERP_API
scanf_format_elt
{
public:
*************** public:
*** 97,102 ****
--- 98,104 ----
};
class
+ OCTINTERP_API
scanf_format_list
{
public:
*************** public:
*** 237,242 ****
--- 239,245 ----
};
class
+ OCTINTERP_API
printf_format_list
{
public:
*************** private:
*** 317,322 ****
--- 320,326 ----
// Provide an interface for Octave streams.
class
+ OCTINTERP_API
octave_base_stream
{
friend class octave_stream;
*************** private:
*** 475,480 ****
--- 479,485 ----
};
class
+ OCTINTERP_API
octave_stream
{
public:
*************** private:
*** 614,619 ****
--- 619,625 ----
};
class
+ OCTINTERP_API
octave_stream_list
{
protected:
Index: src/octave.h
===================================================================
RCS file: /cvs/octave/src/octave.h,v
retrieving revision 1.3
diff -p -c -r1.3 octave.h
*** src/octave.h 26 Apr 2005 19:24:33 -0000 1.3
--- src/octave.h 17 Oct 2006 11:07:42 -0000
*************** Software Foundation, Inc., 51 Franklin S
*** 28,34 ****
extern "C" {
#endif
! extern int octave_main (int argc, char **argv, int embedded);
#ifdef __cplusplus
}
--- 28,34 ----
extern "C" {
#endif
! extern OCTINTERP_API int octave_main (int argc, char **argv, int embedded);
#ifdef __cplusplus
}
Index: src/ov-base.h
===================================================================
RCS file: /cvs/octave/src/ov-base.h,v
retrieving revision 1.99
diff -p -c -r1.99 ov-base.h
*** src/ov-base.h 23 Aug 2006 18:35:39 -0000 1.99
--- src/ov-base.h 17 Oct 2006 11:07:42 -0000
*************** class tree_walker;
*** 98,103 ****
--- 98,104 ----
// octave_value).
class
+ OCTINTERP_API
octave_base_value
{
public:
Index: src/ov-bool-sparse.cc
===================================================================
RCS file: /cvs/octave/src/ov-bool-sparse.cc,v
retrieving revision 1.17
diff -p -c -r1.17 ov-bool-sparse.cc
*** src/ov-bool-sparse.cc 18 Aug 2006 21:34:00 -0000 1.17
--- src/ov-bool-sparse.cc 17 Oct 2006 11:07:42 -0000
*************** Boston, MA 02110-1301, USA.
*** 43,49 ****
#include "ov-base-sparse.h"
#include "ov-base-sparse.cc"
! template class octave_base_sparse<SparseBoolMatrix>;
DEFINE_OCTAVE_ALLOCATOR (octave_sparse_bool_matrix);
--- 43,49 ----
#include "ov-base-sparse.h"
#include "ov-base-sparse.cc"
! template class OCTINTERP_API octave_base_sparse<SparseBoolMatrix>;
DEFINE_OCTAVE_ALLOCATOR (octave_sparse_bool_matrix);
Index: src/ov-bool-sparse.h
===================================================================
RCS file: /cvs/octave/src/ov-bool-sparse.h,v
retrieving revision 1.12
diff -p -c -r1.12 ov-bool-sparse.h
*** src/ov-bool-sparse.h 18 Aug 2006 21:34:00 -0000 1.12
--- src/ov-bool-sparse.h 17 Oct 2006 11:07:42 -0000
*************** class octave_value_list;
*** 48,53 ****
--- 48,54 ----
class tree_walker;
class
+ OCTINTERP_API
octave_sparse_bool_matrix : public octave_base_sparse<SparseBoolMatrix>
{
public:
Index: src/ov-cx-sparse.cc
===================================================================
RCS file: /cvs/octave/src/ov-cx-sparse.cc,v
retrieving revision 1.15
diff -p -c -r1.15 ov-cx-sparse.cc
*** src/ov-cx-sparse.cc 26 Jul 2006 03:36:33 -0000 1.15
--- src/ov-cx-sparse.cc 17 Oct 2006 11:07:42 -0000
*************** Boston, MA 02110-1301, USA.
*** 42,48 ****
#include "ov-bool-sparse.h"
! template class octave_base_sparse<SparseComplexMatrix>;
DEFINE_OCTAVE_ALLOCATOR (octave_sparse_complex_matrix);
--- 42,48 ----
#include "ov-bool-sparse.h"
! template class OCTINTERP_API octave_base_sparse<SparseComplexMatrix>;
DEFINE_OCTAVE_ALLOCATOR (octave_sparse_complex_matrix);
Index: src/ov-cx-sparse.h
===================================================================
RCS file: /cvs/octave/src/ov-cx-sparse.h,v
retrieving revision 1.7
diff -p -c -r1.7 ov-cx-sparse.h
*** src/ov-cx-sparse.h 22 Jul 2006 08:31:17 -0000 1.7
--- src/ov-cx-sparse.h 17 Oct 2006 11:07:42 -0000
*************** class octave_value_list;
*** 49,54 ****
--- 49,55 ----
class tree_walker;
class
+ OCTINTERP_API
octave_sparse_complex_matrix : public octave_base_sparse<SparseComplexMatrix>
{
public:
Index: src/ov-fcn.h
===================================================================
RCS file: /cvs/octave/src/ov-fcn.h,v
retrieving revision 1.27
diff -p -c -r1.27 ov-fcn.h
*** src/ov-fcn.h 22 Jun 2006 00:57:28 -0000 1.27
--- src/ov-fcn.h 17 Oct 2006 11:07:42 -0000
*************** class tree_walker;
*** 39,44 ****
--- 39,45 ----
// Functions.
class
+ OCTINTERP_API
octave_function : public octave_base_value
{
public:
Index: src/ov-re-sparse.cc
===================================================================
RCS file: /cvs/octave/src/ov-re-sparse.cc,v
retrieving revision 1.18
diff -p -c -r1.18 ov-re-sparse.cc
*** src/ov-re-sparse.cc 18 Aug 2006 21:27:04 -0000 1.18
--- src/ov-re-sparse.cc 17 Oct 2006 11:07:42 -0000
*************** Boston, MA 02110-1301, USA.
*** 42,48 ****
#include "ov-bool-sparse.h"
! template class octave_base_sparse<SparseMatrix>;
DEFINE_OCTAVE_ALLOCATOR (octave_sparse_matrix);
--- 42,48 ----
#include "ov-bool-sparse.h"
! template class OCTINTERP_API octave_base_sparse<SparseMatrix>;
DEFINE_OCTAVE_ALLOCATOR (octave_sparse_matrix);
Index: src/ov-re-sparse.h
===================================================================
RCS file: /cvs/octave/src/ov-re-sparse.h,v
retrieving revision 1.11
diff -p -c -r1.11 ov-re-sparse.h
*** src/ov-re-sparse.h 18 Aug 2006 21:27:04 -0000 1.11
--- src/ov-re-sparse.h 17 Oct 2006 11:07:42 -0000
*************** class octave_value_list;
*** 50,55 ****
--- 50,56 ----
class tree_walker;
class
+ OCTINTERP_API
octave_sparse_matrix : public octave_base_sparse<SparseMatrix>
{
public:
Index: src/ov-str-mat.h
===================================================================
RCS file: /cvs/octave/src/ov-str-mat.h,v
retrieving revision 1.49
diff -p -c -r1.49 ov-str-mat.h
*** src/ov-str-mat.h 23 Aug 2006 18:35:39 -0000 1.49
--- src/ov-str-mat.h 17 Oct 2006 11:07:42 -0000
*************** class tree_walker;
*** 47,52 ****
--- 47,53 ----
// strings.
class
+ OCTINTERP_API
octave_char_matrix_str : public octave_char_matrix
{
public:
Index: src/ov-typeinfo.cc
===================================================================
RCS file: /cvs/octave/src/ov-typeinfo.cc,v
retrieving revision 1.36
diff -p -c -r1.36 ov-typeinfo.cc
*** src/ov-typeinfo.cc 15 Jul 2006 14:19:58 -0000 1.36
--- src/ov-typeinfo.cc 17 Oct 2006 11:07:42 -0000
*************** octave_value_typeinfo::instance (0);
*** 43,48 ****
--- 43,51 ----
#include <Array.cc>
+ #undef OCTAVE_API
+ #define OCTAVE_API
+
INSTANTIATE_ARRAY (octave_value_typeinfo::unary_op_fcn);
template class Array2<octave_value_typeinfo::unary_op_fcn>;
Index: src/ov-typeinfo.h
===================================================================
RCS file: /cvs/octave/src/ov-typeinfo.h,v
retrieving revision 1.22
diff -p -c -r1.22 ov-typeinfo.h
*** src/ov-typeinfo.h 14 Apr 2006 04:01:40 -0000 1.22
--- src/ov-typeinfo.h 17 Oct 2006 11:07:42 -0000
*************** Software Foundation, Inc., 51 Franklin S
*** 35,40 ****
--- 35,41 ----
class string_vector;
class
+ OCTINTERP_API
octave_value_typeinfo
{
public:
Index: src/ov.h
===================================================================
RCS file: /cvs/octave/src/ov.h,v
retrieving revision 1.150
diff -p -c -r1.150 ov.h
*** src/ov.h 23 Aug 2006 18:35:39 -0000 1.150
--- src/ov.h 17 Oct 2006 11:07:42 -0000
*************** class octave_lvalue;
*** 63,68 ****
--- 63,69 ----
class octave_value;
class
+ OCTINTERP_API
octave_value
{
public:
*************** public:
*** 755,761 ****
// Unary and binary operations.
! friend octave_value do_unary_op (unary_op op,
const octave_value& a);
const octave_value& do_non_const_unary_op (unary_op op);
--- 756,762 ----
// Unary and binary operations.
! friend OCTINTERP_API octave_value do_unary_op (unary_op op,
const octave_value& a);
const octave_value& do_non_const_unary_op (unary_op op);
*************** public:
*** 765,775 ****
octave_value do_non_const_unary_op (unary_op op, const std::string& type,
const std::list<octave_value_list>& idx);
! friend octave_value do_binary_op (binary_op op,
const octave_value& a,
const octave_value& b);
! friend octave_value do_cat_op (const octave_value& a,
const octave_value& b,
const Array<int>& ra_idx);
--- 766,776 ----
octave_value do_non_const_unary_op (unary_op op, const std::string& type,
const std::list<octave_value_list>& idx);
! friend OCTINTERP_API octave_value do_binary_op (binary_op op,
const octave_value& a,
const octave_value& b);
! friend OCTINTERP_API octave_value do_cat_op (const octave_value& a,
const octave_value& b,
const Array<int>& ra_idx);
*************** private:
*** 832,841 ****
// Publish externally used friend functions.
! extern octave_value
do_unary_op (octave_value::unary_op op, const octave_value& a);
! extern octave_value
do_binary_op (octave_value::binary_op op,
const octave_value& a, const octave_value& b);
--- 833,842 ----
// Publish externally used friend functions.
! extern OCTINTERP_API octave_value
do_unary_op (octave_value::unary_op op, const octave_value& a);
! extern OCTINTERP_API octave_value
do_binary_op (octave_value::binary_op op,
const octave_value& a, const octave_value& b);
*************** OV_BINOP_FN (op_el_or)
*** 912,918 ****
OV_BINOP_FN (op_struct_ref)
! extern void install_types (void);
// FIXME -- these trait classes probably belong somehwere else...
--- 913,919 ----
OV_BINOP_FN (op_struct_ref)
! extern OCTINTERP_API void install_types (void);
// FIXME -- these trait classes probably belong somehwere else...
Index: src/pager.h
===================================================================
RCS file: /cvs/octave/src/pager.h,v
retrieving revision 1.24
diff -p -c -r1.24 pager.h
*** src/pager.h 17 Apr 2006 05:05:17 -0000 1.24
--- src/pager.h 17 Oct 2006 11:07:42 -0000
*************** Software Foundation, Inc., 51 Franklin S
*** 33,38 ****
--- 33,39 ----
#endif
class
+ OCTINTERP_API
octave_pager_buf : public std::stringbuf
{
public:
*************** private:
*** 53,58 ****
--- 54,60 ----
};
class
+ OCTINTERP_API
octave_pager_stream : public std::ostream
{
protected:
*************** private:
*** 83,88 ****
--- 85,91 ----
};
class
+ OCTINTERP_API
octave_diary_buf : public std::stringbuf
{
public:
*************** protected:
*** 95,100 ****
--- 98,104 ----
};
class
+ OCTINTERP_API
octave_diary_stream : public std::ostream
{
protected:
*************** private:
*** 124,130 ****
#define octave_diary (octave_diary_stream::stream ())
! extern void flush_octave_stdout (void);
#endif
--- 128,134 ----
#define octave_diary (octave_diary_stream::stream ())
! extern OCTINTERP_API void flush_octave_stdout (void);
#endif
Index: src/parse.h
===================================================================
RCS file: /cvs/octave/src/parse.h,v
retrieving revision 1.41
diff -p -c -r1.41 parse.h
*** src/parse.h 29 Aug 2006 16:37:40 -0000 1.41
--- src/parse.h 17 Oct 2006 11:07:42 -0000
*************** extern std::string parent_function_name;
*** 82,134 ****
// Keep a count of how many END tokens we expect.
extern int end_tokens_expected;
! extern void
parse_and_execute (FILE *f);
! extern void
parse_and_execute (const std::string& s, bool verbose = false,
const char *warn_for = 0);
! extern std::string
get_help_from_file (const std::string& nm, bool& symbol_found,
std::string& file);
! extern std::string
get_help_from_file (const std::string& nm, bool& symbol_found);
! extern std::string lookup_autoload (const std::string& nm);
! extern string_vector autoloaded_functions (void);
! extern string_vector reverse_lookup_autoload (const std::string& nm);
! extern bool
load_fcn_from_file (const std::string& nm, bool exec_script);
! extern bool
load_fcn_from_file (symbol_record *sym_rec, bool exec_script);
! extern void
source_file (const std::string& file_name,
const std::string& context = std::string ());
! extern octave_value_list
feval (const std::string& name,
const octave_value_list& args = octave_value_list (),
int nargout = 0);
! extern octave_value_list
feval (octave_function *fcn,
const octave_value_list& args = octave_value_list (),
int nargout = 0);
! extern octave_value_list
feval (const octave_value_list& args, int nargout = 0);
! extern octave_value_list
eval_string (const std::string&, bool silent, int& parse_status, int hargout);
! extern octave_value
eval_string (const std::string&, bool silent, int& parse_status);
#endif
--- 82,134 ----
// Keep a count of how many END tokens we expect.
extern int end_tokens_expected;
! extern OCTINTERP_API void
parse_and_execute (FILE *f);
! extern OCTINTERP_API void
parse_and_execute (const std::string& s, bool verbose = false,
const char *warn_for = 0);
! extern OCTINTERP_API std::string
get_help_from_file (const std::string& nm, bool& symbol_found,
std::string& file);
! extern OCTINTERP_API std::string
get_help_from_file (const std::string& nm, bool& symbol_found);
! extern OCTINTERP_API std::string lookup_autoload (const std::string& nm);
! extern OCTINTERP_API string_vector autoloaded_functions (void);
! extern OCTINTERP_API string_vector reverse_lookup_autoload (const
std::string& nm);
! extern OCTINTERP_API bool
load_fcn_from_file (const std::string& nm, bool exec_script);
! extern OCTINTERP_API bool
load_fcn_from_file (symbol_record *sym_rec, bool exec_script);
! extern OCTINTERP_API void
source_file (const std::string& file_name,
const std::string& context = std::string ());
! extern OCTINTERP_API octave_value_list
feval (const std::string& name,
const octave_value_list& args = octave_value_list (),
int nargout = 0);
! extern OCTINTERP_API octave_value_list
feval (octave_function *fcn,
const octave_value_list& args = octave_value_list (),
int nargout = 0);
! extern OCTINTERP_API octave_value_list
feval (const octave_value_list& args, int nargout = 0);
! extern OCTINTERP_API octave_value_list
eval_string (const std::string&, bool silent, int& parse_status, int hargout);
! extern OCTINTERP_API octave_value
eval_string (const std::string&, bool silent, int& parse_status);
#endif
Index: src/pr-output.cc
===================================================================
RCS file: /cvs/octave/src/pr-output.cc,v
retrieving revision 1.149
diff -p -c -r1.149 pr-output.cc
*** src/pr-output.cc 2 Oct 2006 17:23:19 -0000 1.149
--- src/pr-output.cc 17 Oct 2006 11:07:42 -0000
*************** pr_int (std::ostream&, const octave_uint
*** 2467,2501 ****
template void
pr_int (std::ostream&, const octave_uint64&, int);
! template void
octave_print_internal (std::ostream&, const intNDArray<octave_int8>&,
bool, int);
! template void
octave_print_internal (std::ostream&, const intNDArray<octave_int16>&,
bool, int);
! template void
octave_print_internal (std::ostream&, const intNDArray<octave_int32>&,
bool, int);
! template void
octave_print_internal (std::ostream&, const intNDArray<octave_int64>&,
bool, int);
! template void
octave_print_internal (std::ostream&, const intNDArray<octave_uint8>&,
bool, int);
! template void
octave_print_internal (std::ostream&, const intNDArray<octave_uint16>&,
bool, int);
! template void
octave_print_internal (std::ostream&, const intNDArray<octave_uint32>&,
bool, int);
! template void
octave_print_internal (std::ostream&, const intNDArray<octave_uint64>&,
bool, int);
--- 2467,2501 ----
template void
pr_int (std::ostream&, const octave_uint64&, int);
! template OCTINTERP_API void
octave_print_internal (std::ostream&, const intNDArray<octave_int8>&,
bool, int);
! template OCTINTERP_API void
octave_print_internal (std::ostream&, const intNDArray<octave_int16>&,
bool, int);
! template OCTINTERP_API void
octave_print_internal (std::ostream&, const intNDArray<octave_int32>&,
bool, int);
! template OCTINTERP_API void
octave_print_internal (std::ostream&, const intNDArray<octave_int64>&,
bool, int);
! template OCTINTERP_API void
octave_print_internal (std::ostream&, const intNDArray<octave_uint8>&,
bool, int);
! template OCTINTERP_API void
octave_print_internal (std::ostream&, const intNDArray<octave_uint16>&,
bool, int);
! template OCTINTERP_API void
octave_print_internal (std::ostream&, const intNDArray<octave_uint32>&,
bool, int);
! template OCTINTERP_API void
octave_print_internal (std::ostream&, const intNDArray<octave_uint64>&,
bool, int);
*************** octave_print_internal (std::ostream& os,
*** 2518,2545 ****
// FIXME -- this is not the right spot for this...
! template void
octave_print_internal (std::ostream&, const octave_int8&, bool);
! template void
octave_print_internal (std::ostream&, const octave_int16&, bool);
! template void
octave_print_internal (std::ostream&, const octave_int32&, bool);
! template void
octave_print_internal (std::ostream&, const octave_int64&, bool);
! template void
octave_print_internal (std::ostream&, const octave_uint8&, bool);
! template void
octave_print_internal (std::ostream&, const octave_uint16&, bool);
! template void
octave_print_internal (std::ostream&, const octave_uint32&, bool);
! template void
octave_print_internal (std::ostream&, const octave_uint64&, bool);
extern void
--- 2518,2545 ----
// FIXME -- this is not the right spot for this...
! template OCTINTERP_API void
octave_print_internal (std::ostream&, const octave_int8&, bool);
! template OCTINTERP_API void
octave_print_internal (std::ostream&, const octave_int16&, bool);
! template OCTINTERP_API void
octave_print_internal (std::ostream&, const octave_int32&, bool);
! template OCTINTERP_API void
octave_print_internal (std::ostream&, const octave_int64&, bool);
! template OCTINTERP_API void
octave_print_internal (std::ostream&, const octave_uint8&, bool);
! template OCTINTERP_API void
octave_print_internal (std::ostream&, const octave_uint16&, bool);
! template OCTINTERP_API void
octave_print_internal (std::ostream&, const octave_uint32&, bool);
! template OCTINTERP_API void
octave_print_internal (std::ostream&, const octave_uint64&, bool);
extern void
Index: src/pr-output.h
===================================================================
RCS file: /cvs/octave/src/pr-output.h,v
retrieving revision 1.33
diff -p -c -r1.33 pr-output.h
*** src/pr-output.h 13 Apr 2006 13:04:33 -0000 1.33
--- src/pr-output.h 17 Oct 2006 11:07:42 -0000
*************** class Cell;
*** 43,109 ****
#include "intNDArray.h"
#include "oct-inttypes.h"
! extern void
octave_print_internal (std::ostream& os, double d,
bool pr_as_read_syntax = false);
! extern void
octave_print_internal (std::ostream& os, const Matrix& m,
bool pr_as_read_syntax = false,
int extra_indent = 0);
! extern void
octave_print_internal (std::ostream& os, const NDArray& nda,
bool pr_as_read_syntax = false,
int extra_indent = 0);
! extern void
octave_print_internal (std::ostream& os, const Complex& c,
bool pr_as_read_syntax = false);
! extern void
octave_print_internal (std::ostream& os, const ComplexMatrix& cm,
bool pr_as_read_syntax = false,
int extra_indent = 0);
! extern void
octave_print_internal (std::ostream& os, const ComplexNDArray& nda,
bool pr_as_read_syntax = false,
int extra_indent = 0);
! extern void
octave_print_internal (std::ostream& os, const Range& r,
bool pr_as_read_syntax = false,
int extra_indent = 0);
! extern void
octave_print_internal (std::ostream& os, const boolMatrix& m,
bool pr_as_read_syntax = false,
int extra_indent = 0);
! extern void
octave_print_internal (std::ostream& os, const boolNDArray& m,
bool pr_as_read_syntax = false,
int extra_indent = 0);
! extern void
octave_print_internal (std::ostream& os, const charMatrix& chm,
bool pr_as_read_syntax = false,
int extra_indent = 0,
bool pr_as_string = false);
! extern void
octave_print_internal (std::ostream& os, const charNDArray& nda,
bool pr_as_read_syntax = false,
int extra_indent = 0,
bool pr_as_string = false);
! extern void
octave_print_internal (std::ostream& os, const std::string& s,
bool pr_as_read_syntax = false,
int extra_indent = 0);
! extern void
octave_print_internal (std::ostream& os, const ArrayN<std::string>& sa,
bool pr_as_read_syntax = false,
int extra_indent = 0);
--- 43,109 ----
#include "intNDArray.h"
#include "oct-inttypes.h"
! extern OCTINTERP_API void
octave_print_internal (std::ostream& os, double d,
bool pr_as_read_syntax = false);
! extern OCTINTERP_API void
octave_print_internal (std::ostream& os, const Matrix& m,
bool pr_as_read_syntax = false,
int extra_indent = 0);
! extern OCTINTERP_API void
octave_print_internal (std::ostream& os, const NDArray& nda,
bool pr_as_read_syntax = false,
int extra_indent = 0);
! extern OCTINTERP_API void
octave_print_internal (std::ostream& os, const Complex& c,
bool pr_as_read_syntax = false);
! extern OCTINTERP_API void
octave_print_internal (std::ostream& os, const ComplexMatrix& cm,
bool pr_as_read_syntax = false,
int extra_indent = 0);
! extern OCTINTERP_API void
octave_print_internal (std::ostream& os, const ComplexNDArray& nda,
bool pr_as_read_syntax = false,
int extra_indent = 0);
! extern OCTINTERP_API void
octave_print_internal (std::ostream& os, const Range& r,
bool pr_as_read_syntax = false,
int extra_indent = 0);
! extern OCTINTERP_API void
octave_print_internal (std::ostream& os, const boolMatrix& m,
bool pr_as_read_syntax = false,
int extra_indent = 0);
! extern OCTINTERP_API void
octave_print_internal (std::ostream& os, const boolNDArray& m,
bool pr_as_read_syntax = false,
int extra_indent = 0);
! extern OCTINTERP_API void
octave_print_internal (std::ostream& os, const charMatrix& chm,
bool pr_as_read_syntax = false,
int extra_indent = 0,
bool pr_as_string = false);
! extern OCTINTERP_API void
octave_print_internal (std::ostream& os, const charNDArray& nda,
bool pr_as_read_syntax = false,
int extra_indent = 0,
bool pr_as_string = false);
! extern OCTINTERP_API void
octave_print_internal (std::ostream& os, const std::string& s,
bool pr_as_read_syntax = false,
int extra_indent = 0);
! extern OCTINTERP_API void
octave_print_internal (std::ostream& os, const ArrayN<std::string>& sa,
bool pr_as_read_syntax = false,
int extra_indent = 0);
*************** extern void
*** 119,125 ****
octave_print_internal (std::ostream& os, const octave_int<T>& sa,
bool pr_as_read_syntax = false);
! extern void
octave_print_internal (std::ostream& os, const Cell& cell,
bool pr_as_read_syntax = false,
int extra_indent = 0,
--- 119,125 ----
octave_print_internal (std::ostream& os, const octave_int<T>& sa,
bool pr_as_read_syntax = false);
! extern OCTINTERP_API void
octave_print_internal (std::ostream& os, const Cell& cell,
bool pr_as_read_syntax = false,
int extra_indent = 0,
Index: src/procstream.h
===================================================================
RCS file: /cvs/octave/src/procstream.h,v
retrieving revision 1.28
diff -p -c -r1.28 procstream.h
*** src/procstream.h 26 Apr 2005 19:24:34 -0000 1.28
--- src/procstream.h 17 Oct 2006 11:07:42 -0000
*************** Software Foundation, Inc., 51 Franklin S
*** 34,39 ****
--- 34,40 ----
#include "oct-procbuf.h"
class
+ OCTINTERP_API
procstreambase : virtual public std::ios
{
public:
*************** private:
*** 69,74 ****
--- 70,76 ----
};
class
+ OCTINTERP_API
iprocstream : public std::istream, public procstreambase
// iprocstream : public procstreambase, public std::istream
{
*************** private:
*** 98,103 ****
--- 100,106 ----
};
class
+ OCTINTERP_API
oprocstream : public std::ostream, public procstreambase
// oprocstream : public procstreambase, public std::ostream
{
*************** private:
*** 127,132 ****
--- 130,136 ----
};
class
+ OCTINTERP_API
procstream : public std::iostream, public procstreambase
// procstream : public procstreambase, public std::iostream
{
Index: src/sighandlers.h
===================================================================
RCS file: /cvs/octave/src/sighandlers.h,v
retrieving revision 1.34
diff -p -c -r1.34 sighandlers.h
*** src/sighandlers.h 24 Apr 2006 19:13:11 -0000 1.34
--- src/sighandlers.h 17 Oct 2006 11:07:42 -0000
*************** extern int pipe_handler_error_count;
*** 97,114 ****
// TRUE means we can be interrupted.
extern bool can_interrupt;
! extern sig_handler *octave_set_signal_handler (int, sig_handler *,
bool restart_syscalls = true);
! extern void install_signal_handlers (void);
! extern void octave_signal_handler (void);
! extern octave_interrupt_handler octave_catch_interrupts (void);
! extern octave_interrupt_handler octave_ignore_interrupts (void);
! extern octave_interrupt_handler
octave_set_interrupt_handler (const volatile octave_interrupt_handler&,
bool restart_syscalls = true);
--- 97,114 ----
// TRUE means we can be interrupted.
extern bool can_interrupt;
! extern OCTINTERP_API sig_handler *octave_set_signal_handler (int, sig_handler
*,
bool restart_syscalls = true);
! extern OCTINTERP_API void install_signal_handlers (void);
! extern OCTINTERP_API void octave_signal_handler (void);
! extern OCTINTERP_API octave_interrupt_handler octave_catch_interrupts (void);
! extern OCTINTERP_API octave_interrupt_handler octave_ignore_interrupts (void);
! extern OCTINTERP_API octave_interrupt_handler
octave_set_interrupt_handler (const volatile octave_interrupt_handler&,
bool restart_syscalls = true);
*************** octave_set_interrupt_handler (const vola
*** 117,122 ****
--- 117,123 ----
// Maybe this should be in a separate file?
class
+ OCTINTERP_API
octave_child
{
public:
*************** public:
*** 165,170 ****
--- 166,172 ----
};
class
+ OCTINTERP_API
octave_child_list
{
protected:
Index: src/symtab.h
===================================================================
RCS file: /cvs/octave/src/symtab.h,v
retrieving revision 1.85
diff -p -c -r1.85 symtab.h
*** src/symtab.h 22 Jun 2006 00:57:28 -0000 1.85
--- src/symtab.h 17 Oct 2006 11:07:42 -0000
*************** whos_parameter
*** 58,63 ****
--- 58,64 ----
// Individual records in a symbol table.
class
+ OCTINTERP_API
symbol_record
{
public:
*************** private:
*** 499,504 ****
--- 500,506 ----
#define SYMTAB_VARIABLES (symbol_record::USER_VARIABLE)
class
+ OCTINTERP_API
symbol_table
{
public:
Index: src/toplev.cc
===================================================================
RCS file: /cvs/octave/src/toplev.cc,v
retrieving revision 1.187
diff -p -c -r1.187 toplev.cc
*** src/toplev.cc 9 Oct 2006 19:49:04 -0000 1.187
--- src/toplev.cc 17 Oct 2006 11:07:43 -0000
*************** Software Foundation, Inc., 51 Franklin S
*** 77,82 ****
--- 77,86 ----
#include "variables.h"
#include <version.h>
+ #ifdef _MSC_VER
+ #include "gripes.h"
+ #endif
+
// TRUE means we are exiting via the builtin exit or quit functions.
static bool quitting_gracefully = false;
Index: src/unwind-prot.h
===================================================================
RCS file: /cvs/octave/src/unwind-prot.h,v
retrieving revision 1.29
diff -p -c -r1.29 unwind-prot.h
*** src/unwind-prot.h 12 Jun 2006 15:54:27 -0000 1.29
--- src/unwind-prot.h 17 Oct 2006 11:07:43 -0000
*************** Software Foundation, Inc., 51 Franklin S
*** 30,35 ****
--- 30,36 ----
#include <stack>
class
+ OCTINTERP_API
unwind_elem
{
public:
*************** private:
*** 75,80 ****
--- 76,82 ----
};
class
+ OCTINTERP_API
unwind_protect
{
public:
Index: src/utils.h
===================================================================
RCS file: /cvs/octave/src/utils.h,v
retrieving revision 1.78
diff -p -c -r1.78 utils.h
*** src/utils.h 22 Jun 2006 00:57:28 -0000 1.78
--- src/utils.h 17 Oct 2006 11:07:43 -0000
*************** class octave_value;
*** 36,109 ****
class octave_value_list;
class string_vector;
! extern bool valid_identifier (const char *s);
! extern bool valid_identifier (const std::string& s);
! extern int almost_match (const std::string& std, const std::string& s,
int min_match_len = 1, int case_sens = 1);
! extern int
keyword_almost_match (const char * const *std, int *min_len,
const std::string& s, int min_toks_to_match,
int max_toks);
! extern int empty_arg (const char *name, octave_idx_type nr, octave_idx_type
nc);
! extern std::string
search_path_for_file (const std::string&, const string_vector&);
! extern string_vector
search_path_for_all_files (const std::string&, const string_vector&);
! extern std::string file_in_path (const std::string&, const std::string&);
! extern std::string fcn_file_in_path (const std::string&);
! extern std::string oct_file_in_path (const std::string&);
! extern std::string mex_file_in_path (const std::string&);
! extern std::string do_string_escapes (const std::string& s);
! extern const char *undo_string_escape (char c);
! extern std::string undo_string_escapes (const std::string& s);
! extern void
check_dimensions (dim_vector& dim, const char *warnfor);
! extern void
get_dimensions (const octave_value& a, const char *warn_for,
dim_vector& dim);
! extern void
get_dimensions (const octave_value& a, const octave_value& b,
const char *warn_for, octave_idx_type& nr, octave_idx_type& nc);
! extern void
get_dimensions (const octave_value& a,
const char *warn_for, octave_idx_type& nr, octave_idx_type& nc);
! extern Matrix identity_matrix (octave_idx_type nr, octave_idx_type nc);
! extern int
octave_format (std::ostream& os, const char *fmt, ...);
! extern int
octave_vformat (std::ostream& os, const char *fmt, va_list args);
! extern char *octave_vsnprintf (const char *fmt, va_list args);
! extern char *octave_snprintf (const char *fmt, ...);
! extern void octave_sleep (double seconds);
! extern "C" void octave_sleep (unsigned int seconds);
! extern "C" void octave_usleep (unsigned int useconds);
! extern "C" int octave_strcasecmp (const char *s1, const char *s2);
! extern "C" int octave_strncasecmp (const char *s1, const char *s2, size_t n);
! extern "C" int octave_raw_vsnprintf (char *buf, size_t n, const char *fmt,
va_list args);
#endif
--- 36,109 ----
class octave_value_list;
class string_vector;
! extern OCTINTERP_API bool valid_identifier (const char *s);
! extern OCTINTERP_API bool valid_identifier (const std::string& s);
! extern OCTINTERP_API int almost_match (const std::string& std, const
std::string& s,
int min_match_len = 1, int case_sens = 1);
! extern OCTINTERP_API int
keyword_almost_match (const char * const *std, int *min_len,
const std::string& s, int min_toks_to_match,
int max_toks);
! extern OCTINTERP_API int empty_arg (const char *name, octave_idx_type nr,
octave_idx_type nc);
! extern OCTINTERP_API std::string
search_path_for_file (const std::string&, const string_vector&);
! extern OCTINTERP_API string_vector
search_path_for_all_files (const std::string&, const string_vector&);
! extern OCTINTERP_API std::string file_in_path (const std::string&, const
std::string&);
! extern OCTINTERP_API std::string fcn_file_in_path (const std::string&);
! extern OCTINTERP_API std::string oct_file_in_path (const std::string&);
! extern OCTINTERP_API std::string mex_file_in_path (const std::string&);
! extern OCTINTERP_API std::string do_string_escapes (const std::string& s);
! extern OCTINTERP_API const char *undo_string_escape (char c);
! extern OCTINTERP_API std::string undo_string_escapes (const std::string& s);
! extern OCTINTERP_API void
check_dimensions (dim_vector& dim, const char *warnfor);
! extern OCTINTERP_API void
get_dimensions (const octave_value& a, const char *warn_for,
dim_vector& dim);
! extern OCTINTERP_API void
get_dimensions (const octave_value& a, const octave_value& b,
const char *warn_for, octave_idx_type& nr, octave_idx_type& nc);
! extern OCTINTERP_API void
get_dimensions (const octave_value& a,
const char *warn_for, octave_idx_type& nr, octave_idx_type& nc);
! extern OCTINTERP_API Matrix identity_matrix (octave_idx_type nr,
octave_idx_type nc);
! extern OCTINTERP_API int
octave_format (std::ostream& os, const char *fmt, ...);
! extern OCTINTERP_API int
octave_vformat (std::ostream& os, const char *fmt, va_list args);
! extern OCTINTERP_API char *octave_vsnprintf (const char *fmt, va_list args);
! extern OCTINTERP_API char *octave_snprintf (const char *fmt, ...);
! extern OCTINTERP_API void octave_sleep (double seconds);
! extern "C" OCTINTERP_API void octave_sleep (unsigned int seconds);
! extern "C" OCTINTERP_API void octave_usleep (unsigned int useconds);
! extern "C" OCTINTERP_API int octave_strcasecmp (const char *s1, const char
*s2);
! extern "C" OCTINTERP_API int octave_strncasecmp (const char *s1, const char
*s2, size_t n);
! extern "C" OCTINTERP_API int octave_raw_vsnprintf (char *buf, size_t n, const
char *fmt,
va_list args);
#endif
Index: src/variables.h
===================================================================
RCS file: /cvs/octave/src/variables.h,v
retrieving revision 1.86
diff -p -c -r1.86 variables.h
*** src/variables.h 8 May 2006 20:23:07 -0000 1.86
--- src/variables.h 17 Oct 2006 11:07:43 -0000
*************** class string_vector;
*** 45,133 ****
#include "ov-builtin.h"
#include "symtab.h"
! extern bool at_top_level (void);
! extern void initialize_symbol_tables (void);
! extern bool is_command_name (const std::string&);
// The next three are here temporarily...
! extern bool is_marked_as_rawcommand (const std::string& s);
! extern void mark_as_rawcommand (const std::string& s);
! extern void unmark_rawcommand (const std::string& s);
!
! extern bool is_rawcommand_name (const std::string&);
! extern bool is_mapper_function_name (const std::string&);
! extern bool is_builtin_function_name (const std::string&);
! extern bool is_globally_visible (const std::string&);
! extern octave_function *
is_valid_function (const octave_value&, const std::string& = std::string (),
bool warn = false);
! extern octave_function *
is_valid_function (const std::string&, const std::string& = std::string (),
bool warn = false);
! extern octave_function *
extract_function (const octave_value& arg, const std::string& warn_for,
const std::string& fname, const std::string& header,
const std::string& trailer);
! extern string_vector
get_struct_elts (const std::string& text);
! extern string_vector
generate_struct_completions (const std::string& text, std::string& prefix,
std::string& hint);
! extern bool
looks_like_struct (const std::string& text);
! extern int
symbol_exist (const std::string& name, const std::string& type = "any");
! extern std::string
unique_symbol_name (const std::string& basename);
! extern bool
fcn_out_of_date (octave_function *fcn, const std::string& ff, time_t tp);
! extern bool lookup (symbol_record *s, bool exec_script = true);
! extern symbol_record *
lookup_by_name (const std::string& nm, bool exec_script = true);
! extern octave_value lookup_function (const std::string& nm);
! extern octave_value lookup_user_function (const std::string& nm);
! extern octave_value lookup_function_handle (const std::string& nm);
! extern octave_value
get_global_value (const std::string& nm, bool silent = false);
! extern void set_global_value (const std::string& nm, const octave_value& val);
! extern octave_value
set_internal_variable (bool& var, const octave_value_list& args,
int nargout, const char *nm);
! extern octave_value
set_internal_variable (char& var, const octave_value_list& args,
int nargout, const char *nm);
! extern octave_value
set_internal_variable (int& var, const octave_value_list& args,
int nargout, const char *nm,
int minval = INT_MIN, int maxval = INT_MAX);
! extern octave_value
set_internal_variable (double& var, const octave_value_list& args,
int nargout, const char *nm,
double minval = DBL_MIN, double maxval = DBL_MAX);
! extern octave_value
set_internal_variable (std::string& var, const octave_value_list& args,
int nargout, const char *nm, bool empty_ok = true);
--- 45,133 ----
#include "ov-builtin.h"
#include "symtab.h"
! extern OCTINTERP_API bool at_top_level (void);
! extern OCTINTERP_API void initialize_symbol_tables (void);
! extern OCTINTERP_API bool is_command_name (const std::string&);
// The next three are here temporarily...
! extern OCTINTERP_API bool is_marked_as_rawcommand (const std::string& s);
! extern OCTINTERP_API void mark_as_rawcommand (const std::string& s);
! extern OCTINTERP_API void unmark_rawcommand (const std::string& s);
!
! extern OCTINTERP_API bool is_rawcommand_name (const std::string&);
! extern OCTINTERP_API bool is_mapper_function_name (const std::string&);
! extern OCTINTERP_API bool is_builtin_function_name (const std::string&);
! extern OCTINTERP_API bool is_globally_visible (const std::string&);
! extern OCTINTERP_API octave_function *
is_valid_function (const octave_value&, const std::string& = std::string (),
bool warn = false);
! extern OCTINTERP_API octave_function *
is_valid_function (const std::string&, const std::string& = std::string (),
bool warn = false);
! extern OCTINTERP_API octave_function *
extract_function (const octave_value& arg, const std::string& warn_for,
const std::string& fname, const std::string& header,
const std::string& trailer);
! extern OCTINTERP_API string_vector
get_struct_elts (const std::string& text);
! extern OCTINTERP_API string_vector
generate_struct_completions (const std::string& text, std::string& prefix,
std::string& hint);
! extern OCTINTERP_API bool
looks_like_struct (const std::string& text);
! extern OCTINTERP_API int
symbol_exist (const std::string& name, const std::string& type = "any");
! extern OCTINTERP_API std::string
unique_symbol_name (const std::string& basename);
! extern OCTINTERP_API bool
fcn_out_of_date (octave_function *fcn, const std::string& ff, time_t tp);
! extern OCTINTERP_API bool lookup (symbol_record *s, bool exec_script = true);
! extern OCTINTERP_API symbol_record *
lookup_by_name (const std::string& nm, bool exec_script = true);
! extern OCTINTERP_API octave_value lookup_function (const std::string& nm);
! extern OCTINTERP_API octave_value lookup_user_function (const std::string&
nm);
! extern OCTINTERP_API octave_value lookup_function_handle (const std::string&
nm);
! extern OCTINTERP_API octave_value
get_global_value (const std::string& nm, bool silent = false);
! extern OCTINTERP_API void set_global_value (const std::string& nm, const
octave_value& val);
! extern OCTINTERP_API octave_value
set_internal_variable (bool& var, const octave_value_list& args,
int nargout, const char *nm);
! extern OCTINTERP_API octave_value
set_internal_variable (char& var, const octave_value_list& args,
int nargout, const char *nm);
! extern OCTINTERP_API octave_value
set_internal_variable (int& var, const octave_value_list& args,
int nargout, const char *nm,
int minval = INT_MIN, int maxval = INT_MAX);
! extern OCTINTERP_API octave_value
set_internal_variable (double& var, const octave_value_list& args,
int nargout, const char *nm,
double minval = DBL_MIN, double maxval = DBL_MAX);
! extern OCTINTERP_API octave_value
set_internal_variable (std::string& var, const octave_value_list& args,
int nargout, const char *nm, bool empty_ok = true);
*************** set_internal_variable (std::string& var,
*** 140,181 ****
#define SET_INTERNAL_VARIABLE_WITH_LIMITS(NM, MINVAL, MAXVAL) \
set_internal_variable (V ## NM, args, nargout, #NM, MINVAL, MAXVAL)
! extern std::string builtin_string_variable (const std::string&);
! extern int builtin_real_scalar_variable (const std::string&, double&);
! extern octave_value builtin_any_variable (const std::string&);
! extern void link_to_global_variable (symbol_record *sr);
! extern void link_to_builtin_or_function (symbol_record *sr);
! extern void force_link_to_function (const std::string&);
! extern void bind_ans (const octave_value& val, bool print);
! extern void
bind_internal_variable (const std::string& fname, const octave_value& val);
! extern void mlock (const std::string&);
! extern void munlock (const std::string&);
! extern bool mislocked (const std::string&);
!
! extern bool clear_function (const std::string& nm);
! extern bool clear_variable (const std::string& nm);
! extern bool clear_symbol (const std::string& nm);
// Symbol table for symbols at the top level.
! extern symbol_table *top_level_sym_tab;
// Symbol table for the current scope.
! extern symbol_table *curr_sym_tab;
// Symbol table for the current caller scope.
! extern symbol_table *curr_caller_sym_tab;
// Symbol table for global symbols.
! extern symbol_table *global_sym_tab;
// Symbol table for functions and built-in symbols.
! extern symbol_table *fbi_sym_tab;
#endif
--- 140,181 ----
#define SET_INTERNAL_VARIABLE_WITH_LIMITS(NM, MINVAL, MAXVAL) \
set_internal_variable (V ## NM, args, nargout, #NM, MINVAL, MAXVAL)
! extern OCTINTERP_API std::string builtin_string_variable (const std::string&);
! extern OCTINTERP_API int builtin_real_scalar_variable (const std::string&,
double&);
! extern OCTINTERP_API octave_value builtin_any_variable (const std::string&);
! extern OCTINTERP_API void link_to_global_variable (symbol_record *sr);
! extern OCTINTERP_API void link_to_builtin_or_function (symbol_record *sr);
! extern OCTINTERP_API void force_link_to_function (const std::string&);
! extern OCTINTERP_API void bind_ans (const octave_value& val, bool print);
! extern OCTINTERP_API void
bind_internal_variable (const std::string& fname, const octave_value& val);
! extern OCTINTERP_API void mlock (const std::string&);
! extern OCTINTERP_API void munlock (const std::string&);
! extern OCTINTERP_API bool mislocked (const std::string&);
!
! extern OCTINTERP_API bool clear_function (const std::string& nm);
! extern OCTINTERP_API bool clear_variable (const std::string& nm);
! extern OCTINTERP_API bool clear_symbol (const std::string& nm);
// Symbol table for symbols at the top level.
! extern OCTINTERP_API symbol_table *top_level_sym_tab;
// Symbol table for the current scope.
! extern OCTINTERP_API symbol_table *curr_sym_tab;
// Symbol table for the current caller scope.
! extern OCTINTERP_API symbol_table *curr_caller_sym_tab;
// Symbol table for global symbols.
! extern OCTINTERP_API symbol_table *global_sym_tab;
// Symbol table for functions and built-in symbols.
! extern OCTINTERP_API symbol_table *fbi_sym_tab;
#endif
Index: src/TEMPLATE-INST/Array-os.cc
===================================================================
RCS file: /cvs/octave/src/TEMPLATE-INST/Array-os.cc,v
retrieving revision 1.5
diff -p -c -r1.5 Array-os.cc
*** src/TEMPLATE-INST/Array-os.cc 26 Apr 2005 19:24:35 -0000 1.5
--- src/TEMPLATE-INST/Array-os.cc 17 Oct 2006 11:07:43 -0000
*************** Software Foundation, Inc., 51 Franklin S
*** 35,40 ****
--- 35,43 ----
typedef scanf_format_elt* scanf_format_elt_ptr;
typedef printf_format_elt* printf_format_elt_ptr;
+ #undef OCTAVE_API
+ #define OCTAVE_API
+
INSTANTIATE_ARRAY (scanf_format_elt_ptr);
INSTANTIATE_ARRAY (printf_format_elt_ptr);
Index: src/TEMPLATE-INST/Array-sym.cc
===================================================================
RCS file: /cvs/octave/src/TEMPLATE-INST/Array-sym.cc,v
retrieving revision 1.6
diff -p -c -r1.6 Array-sym.cc
*** src/TEMPLATE-INST/Array-sym.cc 26 Apr 2005 19:24:35 -0000 1.6
--- src/TEMPLATE-INST/Array-sym.cc 17 Oct 2006 11:07:43 -0000
*************** Software Foundation, Inc., 51 Franklin S
*** 35,40 ****
--- 35,43 ----
typedef symbol_record* symbol_record_ptr;
+ #undef OCTAVE_API
+ #define OCTAVE_API
+
INSTANTIATE_ARRAY (symbol_record_ptr);
/*
Index: src/TEMPLATE-INST/Array-tc.cc
===================================================================
RCS file: /cvs/octave/src/TEMPLATE-INST/Array-tc.cc,v
retrieving revision 1.19
diff -p -c -r1.19 Array-tc.cc
*** src/TEMPLATE-INST/Array-tc.cc 26 Apr 2005 19:24:35 -0000 1.19
--- src/TEMPLATE-INST/Array-tc.cc 17 Oct 2006 11:07:43 -0000
*************** Software Foundation, Inc., 51 Franklin S
*** 40,46 ****
#include "oct-obj.h"
! template<>
octave_value
resize_fill_value<octave_value> (const octave_value&)
{
--- 40,46 ----
#include "oct-obj.h"
! template<> OCTINTERP_API
octave_value
resize_fill_value<octave_value> (const octave_value&)
{
*************** resize_fill_value<octave_value> (const o
*** 48,60 ****
return retval;
}
! template class Array<octave_value>;
INSTANTIATE_ARRAY_ASSIGN (octave_value, octave_value);
! template class Array2<octave_value>;
! template class ArrayN<octave_value>;
/*
;;; Local Variables: ***
--- 48,63 ----
return retval;
}
! template class OCTINTERP_API Array<octave_value>;
!
! #undef OCTAVE_API
! #define OCTAVE_API OCTINTERP_API
INSTANTIATE_ARRAY_ASSIGN (octave_value, octave_value);
! template class OCTINTERP_API Array2<octave_value>;
! template class OCTINTERP_API ArrayN<octave_value>;
/*
;;; Local Variables: ***
- Re: MSVC compiler support [patch 13]: glob.h and fnmatch.h, (continued)
- Re: MSVC compiler support [patch 13]: glob.h and fnmatch.h, Michael Goffioul, 2006/10/19
- MSVC compiler support [patch 14]: Additional configuration, Michael Goffioul, 2006/10/17
- MSVC compiler support [patch 14]: Additional configuration, John W. Eaton, 2006/10/25
- Re: MSVC compiler support [patch 14]: Additional configuration, Michael Goffioul, 2006/10/25
- MSVC compiler support [patch 15]: CRUFT.DLL exported symbols (C), Michael Goffioul, 2006/10/17
- MSVC compiler support [patch 15]: CRUFT.DLL exported symbols (C), John W. Eaton, 2006/10/26
- MSVC compiler support [patch 16]: liboctave exported symbols, Michael Goffioul, 2006/10/17
- MSVC compiler support [patch 16]: liboctave exported symbols, John W. Eaton, 2006/10/26
- MSVC compiler support [patch 17]: octinterp.dll exported symbols,
Michael Goffioul <=
- MSVC compiler support [patch 17]: octinterp.dll exported symbols, John W. Eaton, 2006/10/26
- MSVC compiler support [patch 18]: recursion stack overflow, Michael Goffioul, 2006/10/17
- Re: MSVC compiler support [patch 18]: recursion stack overflow, David Bateman, 2006/10/17
- MSVC compiler support [patch 18]: recursion stack overflow, John W. Eaton, 2006/10/17
- MSVC compiler support [patch 19]: strncasecmp needed in liboctave, Michael Goffioul, 2006/10/17
- MSVC compiler support [patch 19]: strncasecmp needed in liboctave, John W. Eaton, 2006/10/26
- MSVC compiler support [patch 20]: opendir, readdir, ..., Michael Goffioul, 2006/10/17
- MSVC compiler support [patch 20]: opendir, readdir, ..., John W. Eaton, 2006/10/25
- MSVC compiler support [patch 21]: glob_match ctor, Michael Goffioul, 2006/10/17
- MSVC compiler support [patch 21]: glob_match ctor, John W. Eaton, 2006/10/25