This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Avoid SIGFPE in Tru64.
[perl5.git] / INTERN.h
... / ...
CommitLineData
1/* INTERN.h
2 *
3 * Copyright (c) 1991-2001, Larry Wall
4 *
5 * You may distribute under the terms of either the GNU General Public
6 * License or the Artistic License, as specified in the README file.
7 *
8 */
9
10/*
11 * EXT designates a global var which is defined in perl.h
12 * dEXT designates a global var which is defined in another
13 * file, so we can't count on finding it in perl.h
14 * (this practice should be avoided).
15 */
16#undef EXT
17#undef dEXT
18#undef EXTCONST
19#undef dEXTCONST
20#if defined(VMS) && !defined(__GNUC__)
21 /* Suppress portability warnings from DECC for VMS-specific extensions */
22# ifdef __DECC
23# pragma message disable (GLOBALEXT,NOSHAREEXT,READONLYEXT)
24# endif
25# define EXT globaldef {"$GLOBAL_RW_VARS"} noshare
26# define dEXT globaldef {"$GLOBAL_RW_VARS"} noshare
27# define EXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
28# define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
29#else
30#if defined(WIN32) && defined(__MINGW32__)
31# define EXT __declspec(dllexport)
32# define dEXT
33# define EXTCONST __declspec(dllexport) const
34# define dEXTCONST const
35#else
36#ifdef __cplusplus
37# define EXT
38# define dEXT
39# define EXTCONST extern const
40# define dEXTCONST const
41#else
42# define EXT
43# define dEXT
44# define EXTCONST const
45# define dEXTCONST const
46#endif
47#endif
48#endif
49
50#undef INIT
51#define INIT(x) = x
52
53#define DOINIT