summaryrefslogtreecommitdiff
path: root/perl.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2011-08-07 21:09:03 +0200
committerNicholas Clark <nick@ccl4.org>2011-08-11 11:38:46 +0200
commit115ff745268490ae5fb5ecaee00be54172e302e0 (patch)
tree18788de5ba03a4598d0cdd3b776e2dd257df050f /perl.h
parente469e61f2b416389b7fb67acaf0d21735066e6ee (diff)
downloadperl-115ff745268490ae5fb5ecaee00be54172e302e0.tar.gz
Simplify embedvar.h, removing a level of macro indirection for PL_* variables.
For the default (non-multiplicity) configuration, PERLVAR*() macros now directly expand their arguments to tokens such as C<PL_defgv>, instead of expanding to C<PL_Idefgv>. This removes over 350 lines from F<embedvar.h>, which defined macros to map from C<PL_Idefgv> to C<PL_defgv> and so forth.
Diffstat (limited to 'perl.h')
-rw-r--r--perl.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/perl.h b/perl.h
index 79989d9583..200e416dbd 100644
--- a/perl.h
+++ b/perl.h
@@ -4935,10 +4935,10 @@ struct interpreter {
*/
/* Set up PERLVAR macros for populating structs */
-# define PERLVAR(var,type) type var;
-# define PERLVARA(var,n,type) type var[n];
-# define PERLVARI(var,type,init) type var;
-# define PERLVARIC(var,type,init) type var;
+# define PERLVAR(prefix,var,type) type prefix##var;
+# define PERLVARA(prefix,var,n,type) type prefix##var[n];
+# define PERLVARI(prefix,var,type,init) type prefix##var;
+# define PERLVARIC(prefix,var,type,init) type prefix##var;
struct interpreter {
# include "intrpvar.h"
@@ -5037,10 +5037,10 @@ struct tempsym; /* defined in pp_pack.c */
* these include variables that would have been their struct-s
*/
-#define PERLVAR(var,type) EXT type PL_##var;
-#define PERLVARA(var,n,type) EXT type PL_##var[n];
-#define PERLVARI(var,type,init) EXT type PL_##var INIT(init);
-#define PERLVARIC(var,type,init) EXTCONST type PL_##var INIT(init);
+#define PERLVAR(prefix,var,type) EXT type PL_##var;
+#define PERLVARA(prefix,var,n,type) EXT type PL_##var[n];
+#define PERLVARI(prefix,var,type,init) EXT type PL_##var INIT(init);
+#define PERLVARIC(prefix,var,type,init) EXTCONST type PL_##var INIT(init);
#if !defined(MULTIPLICITY)
START_EXTERN_C