Cleanup some gcc warnings
[p5sagit/p5-mst-13.2.git] / perl.h
diff --git a/perl.h b/perl.h
index 301f24a..9c4636c 100644 (file)
--- a/perl.h
+++ b/perl.h
 #  endif
 #endif
 
-#define pVAR    PERL_UNUSED_DECL(register struct perl_vars* const my_vars)
+#define pVAR    register struct perl_vars* const my_vars PERL_UNUSED_DECL
 
 #ifdef PERL_GLOBAL_STRUCT
 #  define dVAR         pVAR    = (struct perl_vars*)PERL_GET_VARS()
 #    define MULTIPLICITY
 #  endif
 #  define tTHX PerlInterpreter*
-#  define pTHX PERL_UNUSED_DECL(register tTHX my_perl)
+#  define pTHX  register tTHX my_perl PERL_UNUSED_DECL
 #  define aTHX my_perl
 #  ifdef PERL_GLOBAL_STRUCT
 #    define dTHXa(a)   dVAR; pTHX = (tTHX)a
 #define CALLREG_INTUIT_STRING CALL_FPTR(PL_regint_string)
 #define CALLREGFREE CALL_FPTR(PL_regfree)
 
-/* Note that there are C compilers such as MetroWerks CodeWarrior
+/*
+ * Because of backward compatibility reasons the PERL_UNUSED_DECL
+ * cannot be changed from postfix to PERL_UNUSED_DECL(x).  Sigh.
+ *
+ * Note that there are C compilers such as MetroWerks CodeWarrior
  * which do not have an "inlined" way (like the gcc __attribute__) of
- * marking unused variables (they need e.g. a #pragma, and using e.g.
- * (void)x is considered dubious) and therefore cpp macros like
- * PERL_UNUSED_DECL(x) cannot work for this purpose. */
+ * marking unused variables (they need e.g. a #pragma) and therefore
+ * cpp macros like PERL_UNUSED_DECL cannot work for this purpose, even
+ * if it were PERL_UNUSED_DECL(x), which it cannot be (see above).
+ *
+ */
 
 #if defined(__SYMBIAN32__) && defined(__GNUC__)
 #  ifdef __cplusplus
-#    define PERL_UNUSED_DECL(x) /*@unused@*/ x
+#    define PERL_UNUSED_DECL
 #  else
-#    define PERL_UNUSED_DECL(x) /*@unused@*/ x __attribute__((unused))
+#    define PERL_UNUSED_DECL __attribute__((unused))
 #  endif
 #endif
 
 #ifndef PERL_UNUSED_DECL
 #  if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
-#    define PERL_UNUSED_DECL(x) /*@unused@*/ x __attribute__unused__
+#    define PERL_UNUSED_DECL __attribute__unused__
 #  else
-#    define PERL_UNUSED_DECL(x) /*@unused@*/ x
+#    define PERL_UNUSED_DECL
 #  endif
 #endif
  
 #endif
 
 #define NOOP (void)0
-#define dNOOP PERL_UNUSED_DECL(extern int Perl___notused)
+#define dNOOP extern int Perl___notused PERL_UNUSED_DECL
 
 #ifndef pTHX
 /* Don't bother defining tTHX and sTHX; using them outside
@@ -839,7 +845,7 @@ int usleep(unsigned int);
 #  include "embed.h"
 #  ifndef PERL_MAD
 #    undef op_getmad
-#    define op_getmad(arg,pegop,slot) /*EMPTY*/
+#    define op_getmad(arg,pegop,slot) NOOP
 #  endif
 #endif
 
@@ -2328,7 +2334,7 @@ typedef struct clone_params CLONE_PARAMS;
 #   include "embed.h"
 #  ifndef PERL_MAD
 #    undef op_getmad
-#    define op_getmad(arg,pegop,slot) /*EMPTY*/
+#    define op_getmad(arg,pegop,slot) NOOP
 #  endif
 #   define ISHISH "vms"
 #endif
@@ -2362,7 +2368,7 @@ typedef struct clone_params CLONE_PARAMS;
 #   include "embed.h"
 #  ifndef PERL_MAD
 #    undef op_getmad
-#    define op_getmad(arg,pegop,slot) /*EMPTY*/
+#    define op_getmad(arg,pegop,slot) NOOP
 #  endif
 #   define ISHISH "symbian"
 #endif
@@ -4365,7 +4371,7 @@ END_EXTERN_C
 #  include "embed.h"
 #  ifndef PERL_MAD
 #    undef op_getmad
-#    define op_getmad(arg,pegop,slot) /*EMPTY*/
+#    define op_getmad(arg,pegop,slot) NOOP
 #  endif
 #endif
 
@@ -5438,6 +5444,7 @@ extern void moncontrol(int);
 #define PERL_UNICODE_ARGV_FLAG                 0x0020
 #define PERL_UNICODE_LOCALE_FLAG               0x0040
 #define PERL_UNICODE_WIDESYSCALLS_FLAG         0x0080 /* for Sarathy */
+#define PERL_UNICODE_UTF8CACHEASSERT_FLAG      0x0100
 
 #define PERL_UNICODE_STD_FLAG          \
        (PERL_UNICODE_STDIN_FLAG        | \
@@ -5453,7 +5460,7 @@ extern void moncontrol(int);
         PERL_UNICODE_INOUT_FLAG        | \
         PERL_UNICODE_LOCALE_FLAG)
 
-#define PERL_UNICODE_ALL_FLAGS                 0x00ff
+#define PERL_UNICODE_ALL_FLAGS                 0x01ff
 
 #define PERL_UNICODE_STDIN                     'I'
 #define PERL_UNICODE_STDOUT                    'O'
@@ -5465,6 +5472,7 @@ extern void moncontrol(int);
 #define PERL_UNICODE_ARGV                      'A'
 #define PERL_UNICODE_LOCALE                    'L'
 #define PERL_UNICODE_WIDESYSCALLS              'W'
+#define PERL_UNICODE_UTF8CACHEASSERT           'a'
 
 #define PERL_SIGNALS_UNSAFE_FLAG       0x0001