Down with C++ reserved names
[p5sagit/p5-mst-13.2.git] / perl.h
diff --git a/perl.h b/perl.h
index b8a9642..fe62755 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -1,7 +1,7 @@
 /*    perl.h
  *
  *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, 2004, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 2005 by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -204,7 +204,9 @@ register struct op *Perl_op asm(stringify(OP_IN_REGISTER));
 #endif
 
 #if defined(__STRICT_ANSI__) && defined(PERL_GCC_PEDANTIC)
-#   define PERL_GCC_BRACE_GROUPS_FORBIDDEN
+#  if !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
+#    define PERL_GCC_BRACE_GROUPS_FORBIDDEN
+#  endif
 #endif
 
 /*
@@ -2416,7 +2418,7 @@ typedef pthread_key_t     perl_key;
 
 #ifndef DieNull
 #  ifdef CHECK_FORMAT
-#    define DieNull vdie(aTHX_ Nullch, Null(va_list *))
+#    define DieNull Perl_vdie(aTHX_ Nullch, Null(va_list *))
 #  else
 #    define DieNull Perl_die(aTHX_ Nullch)
 #  endif
@@ -3266,10 +3268,10 @@ EXTCONST char PL_uuemap[65]
 
 
 #ifdef DOINIT
-EXT char *PL_sig_name[] = { SIG_NAME };
+EXT const char *PL_sig_name[] = { SIG_NAME };
 EXT int   PL_sig_num[]  = { SIG_NUM };
 #else
-EXT char *PL_sig_name[];
+EXT const char *PL_sig_name[];
 EXT int   PL_sig_num[];
 #endif
 
@@ -3700,7 +3702,7 @@ typedef enum {
   e_star        /* asterisk   */
 } howlen_t;
 
-typedef struct {
+typedef struct tempsym {
   char*    patptr;   /* current template char */
   char*    patend;   /* one after last char   */
   char*    grpbeg;   /* 1st char of ()-group  */
@@ -3711,6 +3713,8 @@ typedef struct {
   int      level;    /* () nesting level      */
   U32      flags;    /* /=4, comma=2, pack=1  */
                      /*   and group modifiers */
+  STRLEN   strbeg;   /* offset of group start */
+  struct tempsym *previous; /* previous group */
 } tempsym_t;
 
 #include "thread.h"
@@ -3959,7 +3963,7 @@ enum {
 };
 
 #define NofAMmeth max_amg_code
-#define AMG_id2name(id) ((char*)PL_AMG_names[id]+1)
+#define AMG_id2name(id) (PL_AMG_names[id]+1)
 
 #ifdef DOINIT
 EXTCONST char * PL_AMG_names[NofAMmeth] = {