This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Rely on C89 <stddef.h>
authorAaron Crane <arc@cpan.org>
Fri, 13 Oct 2017 07:25:14 +0000 (09:25 +0200)
committerAaron Crane <arc@cpan.org>
Sat, 21 Oct 2017 15:52:41 +0000 (16:52 +0100)
26 files changed:
Configure
Cross/config.sh-arm-linux
Cross/config.sh-arm-linux-n770
NetWare/config.wc
NetWare/config_H.wc
Porting/Glossary
Porting/config.sh
Porting/config_H
cflags.SH
config_h.SH
configure.com
ext/POSIX/POSIX.xs
perl.h
plan9/config.plan9
plan9/config_h.sample
plan9/config_sh.sample
symbian/config.sh
uconfig.h
uconfig.sh
uconfig64.sh
win32/config.ce
win32/config.gc
win32/config.vc
win32/config_H.ce
win32/config_H.gc
win32/config_H.vc

index c5114ff..7df8e67 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -1031,7 +1031,6 @@ i_quadmath=''
 i_shadow=''
 i_socks=''
 i_stdbool=''
-i_stddef=''
 i_stdint=''
 i_stdlib=''
 i_string=''
@@ -23304,10 +23303,6 @@ $rm_try
 set i_stdbool
 eval $setvar
 
-: see if stddef is available
-set stddef.h i_stddef
-eval $inhdr
-
 : see if stdint is available
 set stdint.h i_stdint
 eval $inhdr
@@ -24709,7 +24704,6 @@ i_sgtty='$i_sgtty'
 i_shadow='$i_shadow'
 i_socks='$i_socks'
 i_stdbool='$i_stdbool'
-i_stddef='$i_stddef'
 i_stdint='$i_stdint'
 i_stdlib='$i_stdlib'
 i_string='$i_string'
index 80cfbec..0bcaba4 100644 (file)
@@ -773,7 +773,6 @@ i_sgtty='undef'
 i_shadow='define'
 i_socks='undef'
 i_stdbool='undef'
-i_stddef='define'
 i_stdint='define'
 i_stdlib='define'
 i_string='define'
index 95c653f..a39cd6f 100644 (file)
@@ -632,7 +632,6 @@ i_rpcsvcdbm='undef'
 i_sgtty='undef'
 i_shadow='define'
 i_socks='undef'
-i_stddef='define'
 i_stdlib='define'
 i_string='define'
 i_sunmath='undef'
index 8a6df03..1bbafd4 100644 (file)
@@ -755,7 +755,6 @@ i_sgtty='undef'
 i_shadow='undef'
 i_socks='undef'
 i_stdbool='define'
-i_stddef='define'
 i_stdint='undef'
 i_stdlib='define'
 i_string='define'
index 1ed624a..95a42ce 100644 (file)
  */
 #define I_NETINET_IN   /**/
 
-/* I_STDDEF:
- *     This symbol, if defined, indicates that <stddef.h> exists and should
- *     be included.
- */
-#define I_STDDEF       /**/
-
 /* I_STRING:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <string.h> (USG systems) instead of <strings.h> (BSD systems).
index 5fcaeec..4821813 100644 (file)
@@ -3606,11 +3606,6 @@ i_stdbool (i_stdbool.U):
        indicates to the C program that <stdbool.h> exists and should
        be included.
 
-i_stddef (i_stddef.U):
-       This variable conditionally defines the I_STDDEF symbol, which
-       indicates to the C program that <stddef.h> exists and should
-       be included.
-
 i_stdint (i_stdint.U):
        This variable conditionally defines the I_STDINT symbol, which
        indicates to the C program that <stdint.h> exists and should
index a67c756..dfc62f4 100644 (file)
@@ -791,7 +791,6 @@ i_sgtty='undef'
 i_shadow='undef'
 i_socks='undef'
 i_stdbool='define'
-i_stddef='define'
 i_stdint='define'
 i_stdlib='define'
 i_string='define'
index 000fa36..93865a7 100644 (file)
  */
 /*#define I_STDBOOL    / **/
 
-/* I_STDDEF:
- *     This symbol, if defined, indicates that <stddef.h> exists and should
- *     be included.
- */
-#define I_STDDEF       /**/
-
 /* I_STRING:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <string.h> (USG systems) instead of <strings.h> (BSD systems).
index fd2a2c2..5834f02 100755 (executable)
--- a/cflags.SH
+++ b/cflags.SH
@@ -74,9 +74,7 @@ cat >_cflags.c <<__EOT__
 /* Just in case the inclusion of perl.h did not
  * pull in enough system headers, let's try again. */
 #include <stdlib.h>
-#ifdef I_STDDEF
 #include <stddef.h>
-#endif
 #include <stdarg.h>
 #ifdef I_LIMITS
 #include <limits.h>
index 5e259a1..6c05201 100755 (executable)
@@ -725,12 +725,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$i_niin I_NETINET_IN  /**/
 
-/* I_STDDEF:
- *     This symbol, if defined, indicates that <stddef.h> exists and should
- *     be included.
- */
-#$i_stddef I_STDDEF    /**/
-
 /* I_STRING:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <string.h> (USG systems) instead of <strings.h> (BSD systems).
index 19b62c9..9730117 100644 (file)
@@ -6585,7 +6585,6 @@ $   WC "i_stdbool='define'"
 $ ELSE
 $   WC "i_stdbool='undef'"
 $ ENDIF
-$ WC "i_stddef='define'"
 $ WC "i_stdint='undef'"
 $ WC "i_stdlib='define'"
 $ WC "i_string='define'"
index ab50226..421c57f 100644 (file)
@@ -53,10 +53,7 @@ static int not_here(const char *s);
 #include <setjmp.h>
 #include <signal.h>
 #include <stdarg.h>
-
-#ifdef I_STDDEF
 #include <stddef.h>
-#endif
 
 #ifdef I_UNISTD
 #include <unistd.h>
diff --git a/perl.h b/perl.h
index 042c6d9..e7f25b1 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -908,12 +908,8 @@ EXTERN_C int usleep(unsigned int);
 #  define PERL_STRLEN_EXPAND_SHIFT 2
 #endif
 
-#if defined(STANDARD_C) && defined(I_STDDEF) && !defined(PERL_GCC_PEDANTIC)
-#   include <stddef.h>
-#   define STRUCT_OFFSET(s,m)  offsetof(s,m)
-#else
-#   define STRUCT_OFFSET(s,m)  (Size_t)(&(((s *)0)->m))
-#endif
+#include <stddef.h>
+#define STRUCT_OFFSET(s,m)  offsetof(s,m)
 
 /* ptrdiff_t is C11, so undef it under pedantic builds */
 #ifdef PERL_GCC_PEDANTIC
index 0daf313..c9863b6 100644 (file)
  */
 #define I_NETINET_IN   /* config-skip */
 
-/* I_STDDEF:
- *     This symbol, if defined, indicates that <stddef.h> exists and should
- *     be included.
- */
-#define I_STDDEF       /**/
-
 /* I_STRING:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <string.h> (USG systems) instead of <strings.h> (BSD systems).
index dcf3bdc..ec8bafe 100644 (file)
  */
 #define I_NETINET_IN   /**/
 
-/* I_STDDEF:
- *     This symbol, if defined, indicates that <stddef.h> exists and should
- *     be included.
- */
-#define I_STDDEF       /**/
-
 /* I_STRING:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <string.h> (USG systems) instead of <strings.h> (BSD systems).
index 8f14477..bfe7666 100644 (file)
@@ -767,7 +767,6 @@ i_sgtty='undef'
 i_shadow='undef'
 i_socks='undef'
 i_stdbool='undef'
-i_stddef='define'
 i_stdint='undef'
 i_stdlib='define'
 i_string='define'
index 8cec7ff..904e973 100644 (file)
@@ -696,7 +696,6 @@ i_shadow='undef'
 i_socks='undef'
 i_stdarg='define'
 i_stdbool='undef'
-i_stddef='undef'
 i_stdint='undef'
 i_stdlib='define'
 i_string='define'
index db249d1..8f1b8ad 100644 (file)
--- a/uconfig.h
+++ b/uconfig.h
  */
 /*#define I_NETINET_IN / **/
 
-/* I_STDDEF:
- *     This symbol, if defined, indicates that <stddef.h> exists and should
- *     be included.
- */
-#define I_STDDEF       /**/
-
 /* I_STRING:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <string.h> (USG systems) instead of <strings.h> (BSD systems).
 #endif
 
 /* Generated from:
- * 71879525dcc4fa1f709eedff386a3384fad9b06f7f066a51ecc7f6bba9331b24 config_h.SH
- * 408e88881e8a567afeba7b56cb949d7886e8473896575932bfdef72ee9c32249 uconfig.sh
+ * 946b039c5c96299edae15aed6aeb6ca541042f6e545cb5631660412885369e33 config_h.SH
+ * ac7c2c95dc09327ba3d5305e3e786bcd8c6d759f88fc469a2f1b9310f03137f9 uconfig.sh
  * ex: set ro: */
index a3a955c..14afc70 100644 (file)
@@ -681,7 +681,6 @@ i_sgtty='undef'
 i_shadow='undef'
 i_socks='undef'
 i_stdbool='undef'
-i_stddef='define'
 i_stdint='undef'
 i_stdlib='define'
 i_string='define'
index a1f7126..94b0936 100644 (file)
@@ -681,7 +681,6 @@ i_sgtty='undef'
 i_shadow='undef'
 i_socks='undef'
 i_stdbool='undef'
-i_stddef='define'
 i_stdint='undef'
 i_stdlib='define'
 i_string='define'
index 76676a4..adaea89 100644 (file)
@@ -751,7 +751,6 @@ i_sgtty='undef'
 i_shadow='undef'
 i_socks='undef'
 i_stdbool='undef'
-i_stddef='define'
 i_stdint='undef'
 i_stdlib='define'
 i_string='define'
index 70eefc9..5916946 100644 (file)
@@ -765,7 +765,6 @@ i_sgtty='undef'
 i_shadow='undef'
 i_socks='undef'
 i_stdbool='define'
-i_stddef='define'
 i_stdint='undef'
 i_stdlib='define'
 i_string='define'
index 33f2dad..44baf36 100644 (file)
@@ -762,7 +762,6 @@ i_sgtty='undef'
 i_shadow='undef'
 i_socks='undef'
 i_stdbool='undef'
-i_stddef='define'
 i_stdint='undef'
 i_stdlib='define'
 i_string='define'
index 331bca2..b7cd127 100644 (file)
  */
 /*#define I_NETINET_IN /**/
 
-/* I_STDDEF:
- *     This symbol, if defined, indicates that <stddef.h> exists and should
- *     be included.
- */
-#define I_STDDEF       /**/
-
 /* I_STRING:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <string.h> (USG systems) instead of <strings.h> (BSD systems).
index 3d19d61..76f331d 100644 (file)
  */
 /*#define I_NETINET_IN / **/
 
-/* I_STDDEF:
- *     This symbol, if defined, indicates that <stddef.h> exists and should
- *     be included.
- */
-#define I_STDDEF       /**/
-
 /* I_STRING:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <string.h> (USG systems) instead of <strings.h> (BSD systems).
index 7ca7306..ce796ab 100644 (file)
  */
 /*#define I_NETINET_IN / **/
 
-/* I_STDDEF:
- *     This symbol, if defined, indicates that <stddef.h> exists and should
- *     be included.
- */
-#define I_STDDEF       /**/
-
 /* I_STRING:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <string.h> (USG systems) instead of <strings.h> (BSD systems).