Annotation of OpenXM_contrib/pari-2.2/src/headers/parisys.h, Revision 1.1.1.1
1.1 noro 1: /* $Id: parisys.h,v 1.3 2000/11/03 21:00:25 karim Exp $
2:
3: Copyright (C) 2000 The PARI group.
4:
5: This file is part of the PARI/GP package.
6:
7: PARI/GP is free software; you can redistribute it and/or modify it under the
8: terms of the GNU General Public License as published by the Free Software
9: Foundation. It is distributed in the hope that it will be useful, but WITHOUT
10: ANY WARRANTY WHATSOEVER.
11:
12: Check the License for details. You should have received a copy of it, along
13: with the package; see the file 'COPYING'. If not, write to the Free Software
14: Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
15:
16: /* This files contains macros depending on system and compiler */
17:
18: #ifndef LITTLE_ENDIAN_64
19: # define LITTLE_ENDIAN_64 12345678
20: #endif
21: #ifndef BIG_ENDIAN_64
22: # define BIG_ENDIAN_64 87654321
23: #endif
24: #ifndef LITTLE_ENDIAN
25: # define LITTLE_ENDIAN 1234
26: #endif
27: #ifndef BIG_ENDIAN
28: # define BIG_ENDIAN 4321
29: #endif
30: #ifndef PDP_ENDIAN
31: # define PDP_ENDIAN 3412
32: #endif
33:
34: #ifdef __cplusplus
35: # define ANYARG ...
36: # define BEGINEXTERN extern "C" {
37: # define ENDEXTERN }
38: # define INLINE inline
39: # ifdef __GNUC__
40: # define ASMINLINE
41: # define VOLATILE volatile
42: # else
43: # define VOLATILE
44: # endif
45: #else
46: # define ANYARG
47: # define BEGINEXTERN
48: # define ENDEXTERN
49: # ifdef __GNUC__
50: # define ASMINLINE
51: # define VOLATILE __volatile__
52: # ifdef GCC_INLINE
53: # ifndef __OPTIMIZE__
54: # error "no inlining without -O. Put back -O or remove -DGCC_INLINE"
55: # else
56: # define INLINE __inline__ static
57: # endif
58: # endif
59: # else
60: # define VOLATILE
61:
62: # endif
63: #endif
64: #ifdef _WIN32
65: /* ANSI C does not allow to longjmp() out of a signal handler, in particular,
66: * the SIGINT handler. On Win32, the handler is executed in another thread, and
67: * longjmp'ing into another thread's stack will utterly confuse the system.
68: * Instead, we check whether win32ctrlc is set in new_chunk().
69: */
70: extern int win32ctrlc;
71: void dowin32ctrlc();
72: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>