[win32] integrate mainline
[p5sagit/p5-mst-13.2.git] / regcomp.h
index fe29b2d..4b86a8d 100644 (file)
--- a/regcomp.h
+++ b/regcomp.h
@@ -209,9 +209,9 @@ EXTCONST U8 regkind[] = {
 
 /* The following have no fixed length. char* since we do strchr on it. */
 #ifndef DOINIT
-EXT const char varies[];
+EXTCONST char varies[];
 #else
-EXT const char varies[] = {
+EXTCONST char varies[] = {
     BRANCH, BACK, STAR, PLUS, CURLY, CURLYX, REF, REFF, REFFL, 
     WHILEM, CURLYM, CURLYN, BRANCHJ, IFTHEN, SUSPEND, 0
 };
@@ -219,9 +219,9 @@ EXT const char varies[] = {
 
 /* The following always have a length of 1. char* since we do strchr on it. */
 #ifndef DOINIT
-EXT const char simple[];
+EXTCONST char simple[];
 #else
-EXT const char simple[] = {
+EXTCONST char simple[] = {
     ANY, SANY, ANYOF,
     ALNUM, ALNUML, NALNUM, NALNUML,
     SPACE, SPACEL, NSPACE, NSPACEL,
@@ -271,7 +271,10 @@ struct regnode_2 {
 
 #endif 
 
-#define REG_INFTY I16_MAX
+/* I16_MAX is no good for REG_INFTY because sizeof(short) > 2
+ * is perfectly fine.  In Cray C90 sizeof(short) == 4,
+ * in Cray T90 sizeof(short) == 8. */
+#define REG_INFTY ((1<<15)-1)
 
 #ifdef REGALIGN
 #  define ARG_VALUE(arg) (arg)
@@ -445,7 +448,5 @@ const static char reg_off_by_arg[] = {
 #define REG_SEEN_GPOS          4
 
 #ifdef DEBUGGING
-extern char *colors[4];
+EXT char *colors[4];  /* not dEXT since we do EXTERN/INTERN.h shuffle */
 #endif 
-
-void   re_croak2 _((const char* pat1,const char* pat2,...)) __attribute__((noreturn));