In perl.git, the branch smoke-me/arc/c89ification has been created <http://perl5.git.perl.org/perl.git/commitdiff/1ce414df05474a42e8a0a151d47938e27915cee8?hp=0000000000000000000000000000000000000000>
at 1ce414df05474a42e8a0a151d47938e27915cee8 (commit) - Log ----------------------------------------------------------------- commit 1ce414df05474a42e8a0a151d47938e27915cee8 Author: Aaron Crane <a...@cpan.org> Date: Tue Oct 17 17:36:33 2017 +0100 pod/perlhacktips.pod: remove some outdated portability notes M pod/perlhacktips.pod commit f2fef2bfd78af8cd5c94ffa646aab7155b93b330 Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 16:26:48 2017 +0200 Rely on C89 <string.h> This requires a corresponding change in the metaconfig units. M Configure M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M NetWare/config.wc M NetWare/config_H.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M config_h.SH M configure.com M ext/SDBM_File/sdbm.c M ext/SDBM_File/sdbm.h M perl.h M plan9/config.plan9 M plan9/config_h.sample M plan9/config_sh.sample M symbian/config.sh M uconfig.h M uconfig.sh M uconfig64.sh M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit 38882603edf12acb2f78eba2783154f8d8b21c52 Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 16:10:31 2017 +0200 Don't attempt to use non-standard <memory.h> It's only needed on systems without C89 <string.h>, which we rely on anyway. M Configure M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M NetWare/config.wc M NetWare/config_H.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M config_h.SH M configure.com M ext/SDBM_File/sdbm.h M perl.h M plan9/config.plan9 M plan9/config_h.sample M plan9/config_sh.sample M symbian/config.sh M uconfig.h M uconfig.sh M uconfig64.sh M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit 6f1090e1042e7e51c04c42b7b8f66be91caa1081 Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 15:47:10 2017 +0200 Rely on C89 <assert.h> M Configure M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M NetWare/config.wc M NetWare/config_H.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M config_h.SH M configure.com M perl.h M plan9/config_h.sample M plan9/config_sh.sample M symbian/config.sh M uconfig.h M uconfig.sh M uconfig64.sh M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit d32a2aad29f000aad9523398e88d60309afdc757 Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 15:20:33 2017 +0200 Rely on C89 <math.h> This requires a corresponding change in the metaconfig units. M Configure M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M NetWare/config.wc M NetWare/config_H.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M config_h.SH M configure.com M perl.h M plan9/config.plan9 M plan9/config_h.sample M plan9/config_sh.sample M symbian/config.sh M uconfig.h M uconfig.sh M uconfig64.sh M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit 269b6a677d951215f3eede273b36b91b1d77b8dc Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 15:11:22 2017 +0200 Never attempt to redeclare standard functions M perl.h M vms/vmsish.h commit 02045acb079b3284453189aab0c9e8f5ce468a2a Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 14:43:38 2017 +0200 Don't attempt to define or use STANDARD_C We rely on a C89 implementation anyway. M Makefile.micro M ext/SDBM_File/sdbm.h M hints/irix_4.sh M perl.c M perl.h M pod/perlembed.pod M win32/win32.h commit 9bad4e603f0839141fb99f65a55612cacda60c55 Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 14:39:07 2017 +0200 Rely on C89 NULL M handy.h commit 0678bb066d920eeddc0fefda07b0d5629f71f4e1 Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 14:03:01 2017 +0200 Don't declare C89 realloc() The declaration is actually for PerlMem_realloc(), which is a macro for either realloc() or an indirection through the interpreter struct, depending on configuration â see iperlsys.h. If it's the indrection, this declaration will be a syntax error, so it must be in fact plain old realloc(). The declaration is guarded with HAS_REALLOC_PROTOTYPE, which isn't actually defined or consulted anywhere else in the codebase. Since we require C89, there's no need for this â we #include <stdlib.h>, and therefore can assume realloc() exists. M util.c commit 27b361737b59b4f5ea6deaed8e3bc38f6064b891 Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 11:57:51 2017 +0200 Rely on C89 strerror() This requires a corresponding change to the metaconfig units. M Configure M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M NetWare/config.wc M NetWare/config_H.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M config_h.SH M configure.com M perl.h M plan9/config.plan9 M plan9/config_h.sample M plan9/config_sh.sample M symbian/config.sh M uconfig.h M uconfig.sh M uconfig64.sh M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit 5894976dcf301474ef796145f9e22ba3bcdc5acb Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 11:15:04 2017 +0200 util.h: simplify cpp conditionals M util.h commit 9fcbbf9c32d8518f4a61b3e1ca1a9d188863ec99 Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 11:09:26 2017 +0200 util.c: simplify cpp conditionals M util.c commit f80d452de750c8a28a8dd061bb6d4718f5d0ce7e Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 10:56:37 2017 +0200 thread.h: simplify cpp conditionals M thread.h commit 234dcb11efe280fde70ad84e30b50afa3ae9a74b Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 10:52:05 2017 +0200 sv.c: simplify cpp conditionals M sv.c commit e37dae4cf18be42ebccfaf3ce48b05d551ebfd2e Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 10:48:10 2017 +0200 regen/reentr.pl: simplify cpp conditionals M reentr.c M regen/reentr.pl commit 85fb763064cda7d4c2456c34c1a298c2a153db4c Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 10:42:16 2017 +0200 pp_sys.c: simplify cpp conditionals M pp_sys.c commit 73fd7950003dd6a5f8879c82742083343d30dd45 Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 10:07:18 2017 +0200 pp_pack.c: simplify cpp conditionals M pp_pack.c commit d707fcbd4ad82238191b696cf76eba955c5abf36 Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 09:55:26 2017 +0200 pp_hot.c: simplify cpp conditionals M pp_hot.c commit 80ee0971472dd781fe2f7ad387596aec2df617bc Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 09:53:41 2017 +0200 pp_ctl.c: simplify cpp conditionals M pp_ctl.c commit a001056e0982da23ca83ab9e1b0fc107cd148e45 Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 09:51:50 2017 +0200 pp.c: simplify cpp conditionals M pp.c commit e0417679f21ac9b2693f337f45aaf6db2acc1195 Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 18:16:16 2017 +0200 perlio.c: simplify cpp conditionals M perlio.c commit 77a20cd0b7b8aef6774f34ee1ab888ea6d44e22b Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 18:11:58 2017 +0200 perl.h: simplify cpp conditionals M perl.h commit 479d8df28943ffdec464cf30c851a7b7a4112163 Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 17:42:54 2017 +0200 Drop support for the hp9000s500 cpp symbol This includes changed metaconfig units which drop support in the same way. https://en.wikipedia.org/wiki/HP_9000 : > The HP 9000 brand was introduced in 1984 to encompass several existing > technical workstation models previously launched in the early 1980s. [â¦] > The Series 500s were based on the HP FOCUS microprocessor. [â¦] The 520 was > a complete workstation with built-in keyboard, display, 5.25-inch floppy > disk, and optional thermal printer and 5 MB hard disk. [â¦] The processors > in the original Series 500s ran at 20 MHz, and could reach a benchmark > speed of 1 MIPS. https://en.wikipedia.org/wiki/HP_FOCUS : > The Hewlett-Packard FOCUS microprocessor, launched in 1982, was the > first commercial, single chip, fully 32-bit microprocessor available on > the market. [â¦] The FOCUS [â¦] was a stack architecture, with over 220 > instructions (some 32 bits wide, some 16 bits wide), a segmented memory > model, and no general purpose programmer-visible registers. M Configure M perl.h commit aba657afff73f3f671ba0eff39accc611f8b9c05 Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 17:24:42 2017 +0200 Delete useless references to DG/UX M perl.h M t/run/switches.t commit ae46a0a392f7b2a47b75d6b80775c06823d48648 Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 17:17:15 2017 +0200 perl.c: simplify cpp conditionals M perl.c commit 56fb636d27699bb18ec4025d0e134aee7d3700ec Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 17:07:13 2017 +0200 opcode.pl: simplify cpp conditionals This affects the generated opcode.h. M opcode.h M regen/opcode.pl commit b451a3f8e93d715229953519414c34fe66971aaf Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 17:03:32 2017 +0200 numeric.c: simplify cpp conditionals M numeric.c commit b599e38cf6fc45c2c21d509702fe4ac27ce44ab0 Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 17:02:25 2017 +0200 mg.c: simplify cpp conditionals M mg.c commit 52f38d8858f5df4261bbdd8a33ed806e4eec0a7b Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 16:55:55 2017 +0200 malloc.c: simplify cpp conditionals M malloc.c commit 33e9087934d1d5c76ebc04a0bddb73ec27ffcd3a Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 16:54:44 2017 +0200 malloc.c: don't redefine START_EXTERN_C from perl.h M malloc.c commit 614d9770583f9ceb1b782af73cf5ed3e946568a0 Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 16:44:08 2017 +0200 handy.h: simplify cpp conditionals M handy.h commit b6ff7ff54f2775fe659260522ac3bb2e7d763f84 Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 16:40:59 2017 +0200 dosish.h: simplify cpp conditionals M dosish.h commit e2db48816839c67cc6ea5fccabe038d16f2cdfbf Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 16:34:23 2017 +0200 EXTERN.h: simplify cpp conditionals M EXTERN.h commit a05d39649b637162dfeab3e63fb58de483a9e586 Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 16:30:05 2017 +0200 doio.c: simplify cpp conditionals M doio.c commit 99f8af60756bf84be2d5d9e146ecaafc71b74fac Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 16:20:21 2017 +0200 vms/vmsish.h: move a function declaration from doio.c M doio.c M vms/vmsish.h commit 24da329cfca1e1dcc47112481256dc4422aaa284 Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 15:59:59 2017 +0200 caretx.c: simplify cpp conditionals M caretx.c commit a11851f96a34d3b443d54c1dddd94a2b5aebe211 Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 15:56:07 2017 +0200 XSUB.h: simplify cpp conditions using C89 "#elif" M XSUB.h commit bd2bdc43c30758e82dc17b719c75b468e4c63844 Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 09:45:18 2017 +0200 Rely on contents of C89 <limits.h> M perl.h commit 4433a014ab7c7904a36d74215fdbbe8fb0be48dd Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 15:34:03 2017 +0200 Simplify perl.h floating-point limits defines - Always include <float.h> and <limits.h> - Assume that the DBL_* constants are always available in <float.h> (though we still check for each LDBL_* constant individually) - Drop support for the undocumented OVR_DBL_DIG and OVR_LDBL_DIG preprocessor symbols - Use cpp "#elif" M perl.h commit fed0f9e50b32167c36ac33a8b372d40be77e0469 Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 15:14:20 2017 +0200 Don't try to use <values.h> All the information it contains can be gleaned more readily from C89 <limits.h> and <float.h>. M Configure M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M NetWare/config.wc M NetWare/config_H.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M config_h.SH M configure.com M perl.h M plan9/config.plan9 M plan9/config_h.sample M plan9/config_sh.sample M symbian/config.sh M uconfig.h M uconfig.sh M uconfig64.sh M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit b33cfbc92f45114d62a9857079dfba63badac3b3 Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 13:54:42 2017 +0200 Rely on C89 <float.h> defining DBL_DIG I would like to be able to assume that we have long doubles, and therefore that LDBL_DIG and friends are all defined too. But it seems that we may still support some platforms which are otherwise C89, but don't have even trivial long-double support; in particular, HP/UX 10 apparently uses a struct of four uint32_t values as long double, but doesn't support other bits, and confuses the Configure probe that looks for quadmath. M Configure M NetWare/config_H.wc M Porting/config_H M config_h.SH M perl.h M plan9/config.plan9 M plan9/config_h.sample M uconfig.h M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit 025ae1c7ef2469b119f20bfbe3b1337fce5d8972 Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 12:49:41 2017 +0200 Rely on C89 <float.h> This requires newer metaconfig units that also rely on C89 <float.h>. M Configure M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M NetWare/config.wc M NetWare/config_H.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M config_h.SH M configure.com M ext/POSIX/POSIX.xs M perl.h M plan9/config.plan9 M plan9/config_h.sample M plan9/config_sh.sample M symbian/config.sh M uconfig.h M uconfig.sh M uconfig64.sh M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit 629c1212449bdaf022739bf8b97510836bab0544 Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 12:38:59 2017 +0200 Rely on C89 <limits.h> This requires newer metaconfig units that also rely on C89 <limits.h>. M Configure M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M NetWare/config.wc M NetWare/config_H.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M cflags.SH M config_h.SH M configure.com M ext/File-Glob/bsd_glob.c M ext/POSIX/POSIX.xs M perl.h M plan9/config.plan9 M plan9/config_h.sample M plan9/config_sh.sample M symbian/config.sh M uconfig.h M uconfig.sh M uconfig64.sh M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit e5c595843408aff0fb2e51478687897cb612b6b7 Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 11:18:10 2017 +0200 Rely on C89 <time.h> The Configure script here was built from a metaconfig unit that also assumes <time.h> exists. M Configure M config_h.SH M dist/IO/poll.c M perl.h M uconfig.h commit 5261010a90be72caf25d62876cbcbd17bae5d34f Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 10:35:44 2017 +0200 Rely on C89 strchr() and strrchr() This needs a metaconfig change that defangs the standard unit for finding strchr(), because that unit sees the uses of "index" and "rindex" (in files like keywords.c and opcode.h) as indicators that it must be used instead. M Configure M NetWare/config_H.wc M Porting/Glossary M Porting/config_H M config_h.SH M ext/SDBM_File/dbe.c M ext/SDBM_File/dbu.c M perl.h M plan9/config.plan9 M plan9/config_h.sample M uconfig.h M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit a4c342618645b9234cd06b829d4389226520c483 Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 10:03:59 2017 +0200 Rely on C89 sprintf() return value semantics M Configure M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M NetWare/config.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M config_h.SH M configure.com M embed.fnc M makedef.pl M perl.h M plan9/config_sh.sample M proto.h M symbian/config.sh M uconfig.h M uconfig.sh M uconfig64.sh M util.c M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit fbcf98a20d7931f9918f41c10c242c45a0ce1a7d Author: Aaron Crane <a...@cpan.org> Date: Tue Oct 17 17:30:18 2017 +0100 Use snprintf() in favour of sprintf() M sv.c M taint.c commit bf12811ae6e9b647b90166b42be1c2d0ff75f44c Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 09:25:14 2017 +0200 Rely on C89 <stddef.h> M Configure M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M NetWare/config.wc M NetWare/config_H.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M cflags.SH M config_h.SH M configure.com M ext/POSIX/POSIX.xs M perl.h M plan9/config.plan9 M plan9/config_h.sample M plan9/config_sh.sample M symbian/config.sh M uconfig.h M uconfig.sh M uconfig64.sh M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit 752516c98ee7292bf41887171808556c079fbcf6 Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 09:16:17 2017 +0200 Rely on C89 <stdlib.h> The Configure changes here were generated using a version of metaconfig that copies U/modified/i_stdlib.U from dist/U/vaproto.U, and changes it to unconditionally define the i_stdlib Configure variable. That variable is used by a large number of other Configure units, so it's not actually practical to try and remove the relevant unit entirely. M Configure M NetWare/config_H.wc M Porting/Glossary M Porting/config_H M cflags.SH M config_h.SH M ext/POSIX/POSIX.xs M ext/SDBM_File/sdbm.h M hints/irix_6.sh M perl.h M plan9/config.plan9 M plan9/config_h.sample M uconfig.h M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit 05777f14f949094b02e7d03213fa72be8cbf56f4 Author: Aaron Crane <a...@cpan.org> Date: Fri Oct 13 00:55:41 2017 +0200 Rely on C89 <stdarg.h> M Configure M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M INSTALL M MANIFEST M NetWare/config.wc M NetWare/config_H.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M cflags.SH M config_h.SH M configure.com D hints/genix.sh M perl.h M plan9/config.plan9 M plan9/config_h.sample M plan9/config_sh.sample M uconfig.h M uconfig.sh M uconfig64.sh M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit 3ae30e994eec97cccdf0a87a049434f4ba218c99 Author: Aaron Crane <a...@cpan.org> Date: Thu Oct 12 18:50:15 2017 +0200 Rely on C89 prototypes The Configure changes here were generated using a version of metaconfig that modifies the prototype.U and Protochk.U units to assume that C89 prototypes work. M Configure M NetWare/config_H.wc M Porting/Glossary M Porting/config_H M config_h.SH M ext/SDBM_File/pair.c M ext/SDBM_File/pair.h M ext/SDBM_File/sdbm.c M ext/SDBM_File/sdbm.h M perl.h M plan9/config.plan9 M plan9/config_h.sample M uconfig.h M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit 08e583678ac370bc9b5d5d8cdd83eb17cfa5465d Author: Aaron Crane <a...@cpan.org> Date: Sat Oct 14 17:01:19 2017 +0200 Don't pretend to determine whether ansi2knr is needed M Configure M Cross/cflags-cross-arm M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M NetWare/config.wc M Porting/Glossary M Porting/config.sh M cflags.SH M plan9/config_sh.sample M uconfig64.sh M win32/config.ce M win32/config.gc M win32/config.vc commit 26d2ffc288ea310b413c2400eef073cc9f2095d5 Author: Aaron Crane <a...@cpan.org> Date: Thu Oct 12 18:17:02 2017 +0200 Rely on C89 variadic prototypes The Configure changes here were generated using a version of metaconfig that copies U/modified/vaproto.U from dist/U/vaproto.U, and changes it to refrain from promising to define a _V symbol (which would otherwise cause the relevant probe to included in Configure). M Configure M Cross/config.sh-arm-linux M NetWare/config.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M config_h.SH M configure.com M plan9/config_sh.sample M symbian/config.sh M uconfig.h M uconfig.sh M uconfig64.sh M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.gc M win32/config_H.vc commit b7588221289ac6d58420d68dff1a5b60e075a27f Author: Aaron Crane <a...@cpan.org> Date: Thu Oct 12 18:05:57 2017 +0200 Configure: assume C89 headers in need_va_copy probe This matches a recent change to metaconfig. M Configure commit 16a4843f2cce9bdc73e8317bed69f736afd02f38 Author: Aaron Crane <a...@cpan.org> Date: Thu Oct 12 17:56:12 2017 +0200 Rely on C89 vprintf() M Configure M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M INSTALL M NetWare/config.wc M NetWare/config_H.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M config_h.SH M configure.com M hints/catamount.sh M perlio.c M plan9/config.plan9 M plan9/config_h.sample M plan9/config_sh.sample M symbian/config.sh M uconfig.h M uconfig.sh M uconfig64.sh M util.c M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit af20dda067b06fdfd01221711bedccc1e54c7de4 Author: Aaron Crane <a...@cpan.org> Date: Thu Oct 12 17:49:34 2017 +0200 Rely on C89 sprintf() return type M util.c commit 1339e1fd75e19a606441b8686a2d8f0841a9fa91 Author: Aaron Crane <a...@cpan.org> Date: Thu Oct 12 17:44:29 2017 +0200 Configure: assume C89 headers in d_c99_variadic_macros probe This matches a recent change to metaconfig. M Configure M uconfig.h commit 49b21b01559a927c3f5d1f7ff8bf43ff6dd8510b Author: Aaron Crane <a...@cpan.org> Date: Thu Oct 12 17:35:52 2017 +0200 Rely on C89 snprintf() M Configure M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M NetWare/config.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M config_h.SH M configure.com M perl.h M plan9/config_sh.sample M symbian/config.sh M uconfig.h M uconfig.sh M uconfig64.sh M win32/config.ce M win32/config.vc M win32/config_H.gc M win32/config_H.vc commit 9f4692d20e5bd8090e1de18954f04e5159dd1f55 Author: Aaron Crane <a...@cpan.org> Date: Thu Oct 12 17:22:43 2017 +0200 Rely on C89 vsnprintf() We assume it has the standard behaviour that, if the buffer is too short, it returns the desired buffer length. M perl.h M util.c commit e99eb0a7852edca8a6ca428e2fffc6136b2b15c2 Author: Aaron Crane <a...@cpan.org> Date: Thu Oct 12 16:26:56 2017 +0200 Don't use VOL internally, because "volatile" works just fine However, we do preserve it outside PERL_CORE for the use of XS authors. M embed.fnc M ext/re/re.pm M ext/re/re.xs M intrpvar.h M op.c M perl.c M perl.h M proto.h M regcomp.c M regcomp.h commit 491159993aa67ec41215aec7e6593a196c41cc2a Author: Aaron Crane <a...@cpan.org> Date: Thu Oct 12 15:46:20 2017 +0200 Assume C89 "volatile" keyword The Configure changes here were generated using a version of metaconfig that makes U/perl/perlxv.U assume that the keyword exists, and prevents U/modified/d_volatile.U from promising to define a "volatile" keyword; otherwise, those units would bring in the relevant Configure probe anyway. M Configure M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M NetWare/config.wc M NetWare/config_H.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M config_h.SH M configure.com M hints/mips.sh M hints/ultrix_4.sh M perl.h M plan9/config.plan9 M plan9/config_h.sample M plan9/config_sh.sample M symbian/config.sh M uconfig.h M uconfig.sh M uconfig64.sh M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit 13c7724e8ef8783f0aa55b790ec4a517d3b17357 Author: Aaron Crane <a...@cpan.org> Date: Thu Oct 12 15:18:42 2017 +0200 Assume we have C89 memchr() M Configure M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M NetWare/config.wc M NetWare/config_H.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M config_h.SH M configure.com M perl.h M plan9/config.plan9 M plan9/config_h.sample M plan9/config_sh.sample M symbian/config.sh M uconfig.h M uconfig.sh M uconfig64.sh M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit b7890b10107fd5cfacd87975291dd2970a268f7f Author: Aaron Crane <a...@cpan.org> Date: Thu Oct 12 14:31:56 2017 +0200 Assume we have sane C89 memcmp() "Sane" means that it works correctly on bytes with their high bit set, as C89 also requires. We therefore no longer need to probe for and/or use BSD bcmp(). M Configure M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M NetWare/config.wc M NetWare/config_H.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M config_h.SH M configure.com M embed.fnc M embed.h M ext/SDBM_File/sdbm.h M handy.h M hints/epix.sh M hints/svr4.sh M hints/svr5.sh M perl.h M plan9/config.plan9 M plan9/config_h.sample M plan9/config_sh.sample M proto.h M symbian/config.sh M uconfig.h M uconfig.sh M uconfig64.sh M util.c M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit 9d82ec19551fcf06f21ed56b81750f1b48a2e807 Author: Aaron Crane <a...@cpan.org> Date: Thu Oct 12 15:04:00 2017 +0200 Drop support for PowerUX / Power MAX OS It is almost impossible to find any information about this platform on the internet, which strongly suggests that it's as dead as dead can be. M MANIFEST D hints/powerux.sh M pod/perlport.pod M t/op/sprintf.t M uconfig.h commit b3c10e47c49d66b7bd880416cf6f2cdba00274b9 Author: Aaron Crane <a...@cpan.org> Date: Thu Oct 12 14:00:03 2017 +0200 Assume we have C89 memcpy() and memmove() We can therefore also avoid probing for and/or using BSD bcopy(). M Configure M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M NetWare/config.wc M NetWare/config_H.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M config_h.SH M configure.com M embed.fnc M embed.h M ext/SDBM_File/pair.c M ext/SDBM_File/sdbm.h M hints/epix.sh M hints/svr4.sh M hints/svr5.sh M perl.h M plan9/config.plan9 M plan9/config_h.sample M plan9/config_sh.sample M proto.h M symbian/config.sh M uconfig.h M uconfig.sh M uconfig64.sh M util.c M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit 6bc6efa9d1be0645cf9923883d56c98c60aaf168 Author: Aaron Crane <a...@cpan.org> Date: Thu Oct 12 13:47:22 2017 +0200 Don't look for a "safe" memcpy() C89 says that, if you want to copy overlapping memory blocks, you must use memmove(), and that attempt to copy overlapping memory blocks using memcpy() yields undefined behaviour. So we should never even attempt to probe for a system memcpy() implementation that just happens to handle overlapping memory blocks. In particular, the compiler might compile the probe program in such a way that Configure thinks overlapping memcpy() works even when it doesn't. This has the additional advantage of removing a Configure probe that needs to execute a target-platform program on the build host. M Configure M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M NetWare/config.wc M NetWare/config_H.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M config_h.SH M configure.com M embed.fnc M embed.h M perl.h M plan9/config.plan9 M plan9/config_h.sample M plan9/config_sh.sample M proto.h M symbian/config.sh M uconfig.h M uconfig.sh M uconfig64.sh M util.c M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit b718a3dca6f459d7c4a7b417bb7ab5657fbec22c Author: Aaron Crane <a...@cpan.org> Date: Thu Oct 12 11:02:27 2017 +0200 Assume we have C89 memset() This means we also never need to consider using BSD bzero(). M Configure M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M NetWare/config.wc M NetWare/config_H.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M config_h.SH M configure.com M embed.fnc M embed.h M ext/SDBM_File/sdbm.h M handy.h M hints/epix.sh M hints/svr4.sh M hints/svr5.sh M perl.h M plan9/config.plan9 M plan9/config_h.sample M plan9/config_sh.sample M proto.h M symbian/config.sh M uconfig.h M uconfig.sh M uconfig64.sh M util.c M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc commit 39f915dfc5b852a40600a00abf24b01a42cb7776 Author: Aaron Crane <a...@cpan.org> Date: Thu Oct 12 10:33:33 2017 +0200 Remove USE_STRUCT_COPY in favour of C89 struct assignment At least for now, we retain the StructCopy() macro, but its definition always just uses struct assignment. M Configure M Cross/config.sh-arm-linux M Cross/config.sh-arm-linux-n770 M NetWare/config.wc M NetWare/config_H.wc M Porting/Glossary M Porting/config.sh M Porting/config_H M config_h.SH M configure.com M handy.h M plan9/config.plan9 M plan9/config_h.sample M plan9/config_sh.sample M symbian/config.sh M uconfig.h M uconfig.sh M uconfig64.sh M win32/config.ce M win32/config.gc M win32/config.vc M win32/config_H.ce M win32/config_H.gc M win32/config_H.vc ----------------------------------------------------------------------- -- Perl5 Master Repository