[BACK]Return to parisys.h CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / pari-2.2 / src / headers

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>