=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/include/ca.h,v retrieving revision 1.96 retrieving revision 1.100 diff -u -p -r1.96 -r1.100 --- OpenXM_contrib2/asir2000/include/ca.h 2016/06/28 11:59:30 1.96 +++ OpenXM_contrib2/asir2000/include/ca.h 2017/02/28 07:06:28 1.100 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/include/ca.h,v 1.95 2016/03/31 01:40:11 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/include/ca.h,v 1.99 2017/02/07 08:30:31 noro Exp $ */ #include #include @@ -780,14 +780,27 @@ typedef unsigned int ModNum; #define GCFREE(p) Risa_GC_free(p) #define CALLOC(d,e) MALLOC((d)*(e)) +#if 0 #if !defined(__CYGWIN__) && (defined(__GNUC__) || defined(vax) || defined(apollo) || defined(alloca) || defined(VISUAL) || defined(__MINGW32__)) #define ALLOCA(d) alloca(d) #else #define ALLOCA(d) MALLOC(d) #endif +#endif +#define ALLOCA(d) MALLOC(d) + +/* for handling signals */ +#if defined(HAVE_SIGACTION) /* POSIX */ +void (*set_signal(int sig, void (*handler)(int)))(int); +#define set_signal_for_restart(x,y) (0) +#else +#define set_signal(x,y) (signal(x,y)) +#define set_signal_for_restart(x,y) (signal(x,y)) +#endif + /* for setjmp/longjmp compatibility */ -#if defined(__CYGWIN__) || (defined(__x86_64) && !defined(__MINGW32__)) +#if defined(__CYGWIN__) || defined(HAVE_SIGACTION) || (defined(__x86_64) && !defined(__MINGW32__)) #define JMP_BUF sigjmp_buf #define SETJMP(x) sigsetjmp(x,~0) #define LONGJMP(x,y) siglongjmp(x,y) @@ -1008,6 +1021,7 @@ PL(NM(q))=1,BD(NM(q))[0]=(unsigned int)(n),DN(q)=0,(q) #define UNIMQ(q) ((q)&&NUM(q)&&SFF(q)&&(CONT((MQ)q)==1)) #define MUNIQ(q) ((q)&&NUM(q)&&RATN(q)&&(SGN((Q)q)==-1)&&UNIN(NM((Q)q))&&(!DN((Q)q))) #define MUNIMQ(q) ((q)&&NUM(q)&&SFF(q)&&(CONT((MQ)q)==-1)) +#define UNILM(n) ((n)&&UNIN(BDY(n))) #define UNIN(n) ((n)&&(PL(n)==1)&&(BD(n)[0]==1)) #define EVENN(n) ((!(n))||(!(BD(n)[0]%2))) @@ -1821,7 +1835,7 @@ void pwrreal(Num,Num,Real *); void pwrmi(MQ,Q,MQ *); void pwrlm(LM,Q,LM *); void pwrum(int,UM,int,UM); -void reallocarray(char **,int *,int *,int); +void asir_reallocarray(char **,int *,int *,int); void reductr(VL,Obj,Obj *); void reimtocplx(Num,Num,Num *); void rem2q(Q,Q,Q,Q *);