slang.h | slang.h | |||
---|---|---|---|---|
skipping to change at line 25 | skipping to change at line 25 | |||
but WITHOUT ANY WARRANTY; without even the implied warranty of | but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |||
General Public License for more details. | General Public License for more details. | |||
You should have received a copy of the GNU General Public License | You should have received a copy of the GNU General Public License | |||
along with this library; if not, write to the Free Software | along with this library; if not, write to the Free Software | |||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | |||
USA. | USA. | |||
*/ | */ | |||
#define SLANG_VERSION 20101 | #define SLANG_VERSION 20102 | |||
#define SLANG_VERSION_STRING "2.1.1" | #define SLANG_VERSION_STRING "2.1.2" | |||
/* #ifdef __DATE__ */ | /* #ifdef __DATE__ */ | |||
/* # define SLANG_VERSION_STRING SLANG_VERSION_STRING0 " " __DATE__ */ | /* # define SLANG_VERSION_STRING SLANG_VERSION_STRING0 " " __DATE__ */ | |||
/* #else */ | /* #else */ | |||
/* # define SLANG_VERSION_STRING SLANG_VERSION_STRING0 */ | /* # define SLANG_VERSION_STRING SLANG_VERSION_STRING0 */ | |||
/* #endif */ | /* #endif */ | |||
/*{{{ System Dependent Macros and Typedefs */ | /*{{{ System Dependent Macros and Typedefs */ | |||
#if defined(__WATCOMC__) && defined(DOS) | #if defined(__WATCOMC__) && defined(DOS) | |||
# ifndef __MSDOS__ | # ifndef __MSDOS__ | |||
# define __MSDOS__ | # define __MSDOS__ | |||
skipping to change at line 234 | skipping to change at line 234 | |||
# define SLREALLOC VAXC$REALLOC_OPT | # define SLREALLOC VAXC$REALLOC_OPT | |||
# define SLCALLOC VAXC$CALLOC_OPT | # define SLCALLOC VAXC$CALLOC_OPT | |||
# else | # else | |||
# define SLFREE(x) free((char *)(x)) | # define SLFREE(x) free((char *)(x)) | |||
# define SLMALLOC malloc | # define SLMALLOC malloc | |||
# define SLREALLOC realloc | # define SLREALLOC realloc | |||
# define SLCALLOC calloc | # define SLCALLOC calloc | |||
# endif | # endif | |||
#endif | #endif | |||
#if defined(__WIN32__) && SLANG_DLL | #if (defined(__WIN32__) || defined(__CYGWIN32__)) && defined(SLANG_DLL) && SLANG_DLL | |||
# define SL_EXPORT __declspec(dllexport) | # define SL_EXPORT __declspec(dllexport) | |||
# define SL_IMPORT __declspec(dllimport) | # define SL_IMPORT __declspec(dllimport) | |||
#else | #else | |||
# define SL_EXPORT | # define SL_EXPORT | |||
# define SL_IMPORT | # define SL_IMPORT | |||
#endif | #endif | |||
#ifdef SLANG_SOURCE_ | #ifdef SLANG_SOURCE_ | |||
# define SL_EXTERN extern SL_EXPORT | # define SL_EXTERN extern SL_EXPORT | |||
#else | #else | |||
# define SL_EXTERN extern SL_IMPORT | # define SL_EXTERN extern SL_IMPORT | |||
skipping to change at line 834 | skipping to change at line 834 | |||
SL_EXTERN SLang_MMT_Type *SLang_create_mmt (SLtype, VOID_STAR); | SL_EXTERN SLang_MMT_Type *SLang_create_mmt (SLtype, VOID_STAR); | |||
SL_EXTERN int SLang_push_mmt (SLang_MMT_Type *); | SL_EXTERN int SLang_push_mmt (SLang_MMT_Type *); | |||
SL_EXTERN SLang_MMT_Type *SLang_pop_mmt (SLtype); | SL_EXTERN SLang_MMT_Type *SLang_pop_mmt (SLtype); | |||
SL_EXTERN void SLang_inc_mmt (SLang_MMT_Type *); | SL_EXTERN void SLang_inc_mmt (SLang_MMT_Type *); | |||
/* Maximum number of dimensions of an array. */ | /* Maximum number of dimensions of an array. */ | |||
#define SLARRAY_MAX_DIMS 7 | #define SLARRAY_MAX_DIMS 7 | |||
typedef int SLindex_Type; | typedef int SLindex_Type; | |||
typedef unsigned int SLuindex_Type; | typedef unsigned int SLuindex_Type; | |||
#define SLANG_ARRAY_INDEX_TYPE SLANG_INT_TYPE | #define SLANG_ARRAY_INDEX_TYPE SLANG_INT_TYPE | |||
extern int SLang_pop_array_index (SLindex_Type *); | SL_EXTERN int SLang_pop_array_index (SLindex_Type *); | |||
typedef struct _pSLang_Array_Type | typedef struct _pSLang_Array_Type | |||
{ | { | |||
SLtype data_type; | SLtype data_type; | |||
unsigned int sizeof_type; | unsigned int sizeof_type; | |||
VOID_STAR data; | VOID_STAR data; | |||
SLuindex_Type num_elements; | SLuindex_Type num_elements; | |||
unsigned int num_dims; | unsigned int num_dims; | |||
SLindex_Type dims [SLARRAY_MAX_DIMS]; | SLindex_Type dims [SLARRAY_MAX_DIMS]; | |||
VOID_STAR (*index_fun)_PROTO((struct _pSLang_Array_Type *, SLindex_Type *)); | VOID_STAR (*index_fun)_PROTO((struct _pSLang_Array_Type *, SLindex_Type *)); | |||
/* This function is designed to allow a type to store an array in | /* This function is designed to allow a type to store an array in | |||
skipping to change at line 2130 | skipping to change at line 2130 | |||
SL_EXTERN int SLadd_intrinsic_function (char *, FVOID_STAR, SLtype, unsigne d int,...); | SL_EXTERN int SLadd_intrinsic_function (char *, FVOID_STAR, SLtype, unsigne d int,...); | |||
SL_EXTERN int SLns_add_intrinsic_variable (SLang_NameSpace_Type *, char *, VOID_STAR, SLtype, int); | SL_EXTERN int SLns_add_intrinsic_variable (SLang_NameSpace_Type *, char *, VOID_STAR, SLtype, int); | |||
SL_EXTERN int SLns_add_intrinsic_function (SLang_NameSpace_Type *, char *, FVOID_STAR, SLtype, unsigned int,...); | SL_EXTERN int SLns_add_intrinsic_function (SLang_NameSpace_Type *, char *, FVOID_STAR, SLtype, unsigned int,...); | |||
/* These functions are used to patch intrinsic tables that make use of | /* These functions are used to patch intrinsic tables that make use of | |||
* dynamically allocated types whose type id is determined at | * dynamically allocated types whose type id is determined at | |||
* run-time. The second version is useful for the most common case of a | * run-time. The second version is useful for the most common case of a | |||
* single mapping. | * single mapping. | |||
*/ | */ | |||
extern int SLclass_patch_intrin_fun_table (SLang_Intrin_Fun_Type *table, | SL_EXTERN int SLclass_patch_intrin_fun_table (SLang_Intrin_Fun_Type *table, | |||
SLtype *from_types, SLtype *to_type s, unsigned int num); | SLtype *from_types, SLtype *to_type s, unsigned int num); | |||
extern int SLclass_patch_intrin_fun_table1 (SLang_Intrin_Fun_Type *table, | SL_EXTERN int SLclass_patch_intrin_fun_table1 (SLang_Intrin_Fun_Type *table , | |||
SLtype from_type, SLtype to_type); | SLtype from_type, SLtype to_type); | |||
#define MAKE_INTRINSIC_N(n,f,out,in,a1,a2,a3,a4,a5,a6,a7) \ | #define MAKE_INTRINSIC_N(n,f,out,in,a1,a2,a3,a4,a5,a6,a7) \ | |||
{(n), NULL, SLANG_INTRINSIC, (FVOID_STAR) (f), \ | {(n), NULL, SLANG_INTRINSIC, (FVOID_STAR) (f), \ | |||
{a1,a2,a3,a4,a5,a6,a7}, (in), (out)} | {a1,a2,a3,a4,a5,a6,a7}, (in), (out)} | |||
#define MAKE_INTRINSIC_7(n,f,out,a1,a2,a3,a4,a5,a6,a7) \ | #define MAKE_INTRINSIC_7(n,f,out,a1,a2,a3,a4,a5,a6,a7) \ | |||
MAKE_INTRINSIC_N(n,f,out,7,a1,a2,a3,a4,a5,a6,a7) | MAKE_INTRINSIC_N(n,f,out,7,a1,a2,a3,a4,a5,a6,a7) | |||
#define MAKE_INTRINSIC_6(n,f,out,a1,a2,a3,a4,a5,a6) \ | #define MAKE_INTRINSIC_6(n,f,out,a1,a2,a3,a4,a5,a6) \ | |||
MAKE_INTRINSIC_N(n,f,out,6,a1,a2,a3,a4,a5,a6,0) | MAKE_INTRINSIC_N(n,f,out,6,a1,a2,a3,a4,a5,a6,0) | |||
End of changes. 5 change blocks. | ||||
6 lines changed or deleted | 6 lines changed or added | |||