This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
typecasts needed
[perl5.git] / INTERN.h
CommitLineData
a0d0e21e 1/* INTERN.h
a687059c 2 *
4eb8286e 3 * Copyright (c) 1991-1999, Larry Wall
a687059c 4 *
132b68a5
LW
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.
8d063cd8 7 *
8d063cd8
LW
8 */
9
4633a7c4
LW
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 */
8d063cd8 16#undef EXT
4633a7c4 17#undef dEXT
36477c24
PP
18#undef EXTCONST
19#undef dEXTCONST
4633a7c4 20#if defined(VMS) && !defined(__GNUC__)
17f28c40
CB
21 /* Suppress portability warnings from DECC for VMS-specific extensions */
22# ifdef __DECC
23# pragma message disable (GLOBALEXT,NOSHAREEXT,READONLYEXT)
24# endif
4633a7c4
LW
25# define EXT globaldef {"$GLOBAL_RW_VARS"} noshare
26# define dEXT globaldef {"$GLOBAL_RW_VARS"} noshare
36477c24
PP
27# define EXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
28# define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
4633a7c4 29#else
f0f333f4
NIS
30# ifdef __cplusplus
31# define EXT
32# define dEXT
33# define EXTCONST extern const
34# define dEXTCONST const
35#else
4633a7c4
LW
36# define EXT
37# define dEXT
36477c24
PP
38# define EXTCONST const
39# define dEXTCONST const
4633a7c4 40#endif
f0f333f4 41#endif
8d063cd8
LW
42
43#undef INIT
44#define INIT(x) = x
45
46#define DOINIT