summaryrefslogtreecommitdiff
path: root/perl.h
diff options
context:
space:
mode:
authorSteve Hay <SteveHay@planit.com>2006-04-07 14:55:41 +0000
committerSteve Hay <SteveHay@planit.com>2006-04-07 14:55:41 +0000
commit5ba4cab2511d4ef0b3c9c7697485f3001a8cab63 (patch)
treee2a7ccaf0beab3d0037b5da3d4e62ba999ac06d6 /perl.h
parent6c3f0a8911637874000656a4fad5fb7ce04a2751 (diff)
downloadperl-5ba4cab2511d4ef0b3c9c7697485f3001a8cab63.tar.gz
Patch from Jarkko to fix breakage caused by change #27649
see: http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2006-04/msg00144.html p4raw-link: @27649 on //depot/perl: 9ddc1e7af8675795ad0346c1274fd40d4096c50f p4raw-id: //depot/perl@27735
Diffstat (limited to 'perl.h')
-rw-r--r--perl.h28
1 files changed, 17 insertions, 11 deletions
diff --git a/perl.h b/perl.h
index 301f24a66f..c44c9b9298 100644
--- a/perl.h
+++ b/perl.h
@@ -137,7 +137,7 @@
# 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()
@@ -150,7 +150,7 @@
# 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
@@ -197,25 +197,31 @@
#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
@@ -242,7 +248,7 @@
#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