Skip Menu |
Report information
Id: 133036
Status: open
Priority: 0/
Queue: perl5

Owner: Nobody
Requestors: randir <sergey.aleynikov [at] gmail.com>
Cc:
AdminCc:

Operating System: (no value)
PatchStatus: (no value)
Severity: low
Type: core
Perl Version: 5.27.10
Fixed In: (no value)



From: Sergey Aleynikov <sergey.aleynikov [...] gmail.com>
To: perlbug [...] perl.org
Subject: Mingw64 build warnings
Date: Wed, 28 Mar 2018 03:41:06 +0300
Download (untitled) / with headers
text/plain 11.6k
This is a bug report for perl from sergey.aleynikov@gmail.com, generated with the help of perlbug 1.41 running under perl 5.27.10. ----------------------------------------------------------------- [Please describe your issue here] While building perl using mingw64 + dmake, I've encountered the following compilation warnings: gcc -c -I.\include -I. -I.. -DWIN32 -DWIN64 -DCONSERVATIVE -DPERLDLL -DPERL_CORE -s -O2 -fwrapv -fno-strict-aliasing -DPERL_EXTERNAL_GLOB -DPERL_IS_MINIPERL -omini\globals.o ..\globals.c In file included from ..\perl.h:28:0, from ..\globals.c:32: ./config.h:3738:73: warning: excess elements in array initializer #define LONGDBLINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00 /**/ ^ ..\perl.h:6728:32: note: in expansion of macro 'LONGDBLINFBYTES' INFNAN_U8_NV_DECL PL_inf = { { LONGDBLINFBYTES } }; ./config.h:3739:91: note: (near initialization for 'PL_nan.u8') #define LONGDBLNANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0x00 /**/ ^ gcc -c -I.\include -I. -I.. -DWIN32 -DWIN64 -DCONSERVATIVE -DPERLDLL -DPERL_CORE -s -O2 -fwrapv -fno-strict-aliasing -DPERL_EXTERNAL_GLOB -DPERL_IS_MINIPERL -omini\locale.o ..\locale.c In file included from ..\perl.h:5300:0, from ..\locale.c:49: ..\locale.c: In function 'S_my_nl_langinfo': ..\embed.h:1638:25: warning: ignoring return value of 'S_save_to_buffer', declared with attribute warn_unused_result [-Wunused-result] #define save_to_buffer S_save_to_buffer ..\embed.h:1638:25: note: in definition of macro 'save_to_buffer' #define save_to_buffer S_save_to_buffer ^~~~~~~~~~~~~~~~ gcc -c -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -fwrapv -fno-strict-aliasing -mms-bitfields -DPERLDLL -s -O2 -DVERSION=\"3.39\" -DXS_VERSION=\"3.39\" "-I..\. lib\CORE" RealPPPort.c In file included from RealPPPort.xs:31:0: RealPPPort.xs: In function 'XS_Devel__PPPort_ptrtests': ..\..\lib\CORE/perl.h:1729:26: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] # define INT2PTR(any,d) (any)(d) ^ ..\..\lib\CORE/perl.h:1742:21: note: in expansion of macro 'INT2PTR' # define PTR2ul(p) INT2PTR(unsigned long,p) ^~~~~~~ RealPPPort.xs:1650:27: note: in expansion of macro 'PTR2ul' RETVAL += PTR2ul(p) != 0UL ? 2 : 0; ^ gcc -c -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -fwrapv -fno-strict-aliasing -mms-bitfields -DPERLDLL -s -O2 -DVERSION=\"3.06\" -DXS_VERSION=\"3 lib\CORE" Storable.c Storable.xs: In function 'known_class': Storable.xs:570:31: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] #define LOW_32BITS(x) ((I32) ((unsigned long) (x) & 0xffffffffUL)) ^ Storable.xs:2309:21: note: in expansion of macro 'LOW_32BITS' *classnum = LOW_32BITS(*svh); ^ Storable.xs: In function 'store_scalar': Storable.xs:644:6: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] ((unsigned long) (x) == trunc_int(x)) ^ Storable.xs:804:13: note: in expansion of macro 'int_aligned' if (int_aligned(mptr)) \ ^~~~~~~~~~~ Storable.xs:1028:13: note: in expansion of macro 'MBUF_PUTINT' MBUF_PUTINT(x); \ ^~~~~~~~~~~ Storable.xs:2535:13: note: in expansion of macro 'WRITE_I32' WRITE_I32(niv); ^ Storable.xs:644:6: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] ((unsigned long) (x) == trunc_int(x)) ^ Storable.xs:804:13: note: in expansion of macro 'int_aligned' if (int_aligned(mptr)) \ ^~~~~~~~~~~ Storable.xs:1051:17: note: in expansion of macro 'MBUF_PUTINT' MBUF_PUTINT(y); \ ^~~~~~~~~~~ Storable.xs:1126:13: note: in expansion of macro 'WLEN' WLEN(ilen); \ ^~~~ Storable.xs:2603:13: note: in expansion of macro 'STORE_PV_LEN' STORE_PV_LEN((const char *)mg->mg_ptr, ^ Storable.xs:644:6: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] ((unsigned long) (x) == trunc_int(x)) ^ Storable.xs:804:13: note: in expansion of macro 'int_aligned' if (int_aligned(mptr)) \ ^~~~~~~~~~~ Storable.xs:1051:17: note: in expansion of macro 'MBUF_PUTINT' MBUF_PUTINT(y); \ ^~~~~~~~~~~ Storable.xs:1126:13: note: in expansion of macro 'WLEN' WLEN(ilen); \ ^~~~ Storable.xs:304:32: note: in expansion of macro 'STORE_PV_LEN' #define STORE_UTF8STR(pv, len) STORE_PV_LEN(pv, len, SX_UTF8STR, SX_LUTF8STR) ^~~~~~~~~~~~ Storable.xs:2610:13: note: in expansion of macro 'STORE_UTF8STR' STORE_UTF8STR(pv, wlen); ^ Storable.xs:642:23: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] ((unsigned long) ((unsigned long) (x) & ~(sizeof(int)-1))) ^ Storable.xs:644:29: note: in expansion of macro 'trunc_int' ((unsigned long) (x) == trunc_int(x)) ^~~~~~~~~ Storable.xs:804:13: note: in expansion of macro 'int_aligned' if (int_aligned(mptr)) \ ^~~~~~~~~~~ Storable.xs:1051:17: note: in expansion of macro 'MBUF_PUTINT' MBUF_PUTINT(y); \ ^~~~~~~~~~~ Storable.xs:1126:13: note: in expansion of macro 'WLEN' WLEN(ilen); \ ^~~~ Storable.xs:1131:31: note: in expansion of macro 'STORE_PV_LEN' #define STORE_SCALAR(pv, len) STORE_PV_LEN(pv, len, SX_SCALAR, SX_LSCALAR) ^~~~~~~~~~~~ Storable.xs:2612:13: note: in expansion of macro 'STORE_SCALAR' STORE_SCALAR(pv, wlen); ^ Storable.xs: In function 'old_retrieve_hash': Storable.xs:644:6: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] ((unsigned long) (x) == trunc_int(x)) ^ Storable.xs:742:17: note: in expansion of macro 'int_aligned' if (int_aligned(mptr)) \ ^~~~~~~~~~~ Storable.xs:1176:13: note: in expansion of macro 'MBUF_GETINT' MBUF_GETINT(x); \ ^~~~~~~~~~~ Storable.xs:6930:5: note: in expansion of macro 'RLEN' RLEN(len); Note that for Storable, I've copied just some instances of each warning type - they all seem to have the same cause, so I saw no additional information in copying them all. Generating a dmake-style Makefile Writing Makefile for Errno "..\..\miniperl.exe" "-I..\..\lib" Errno_pm.PL Errno.pm In file included from includes.c:4:0: c:/MinGW/mingw64/lib/gcc/x86_64-w64-mingw32/7.3.0/include/avx5124vnniwintrin.h:25:3: error: #error "Never use <avx5124vnniwintrin.h> directly; include <x86intrin.h> instead." # error "Never use <avx5124vnniwintrin.h> directly; include <x86intrin.h> instead." perlhost.h: In function 'CPerlHost* IPerlProc2Host(IPerlProc*)': perlhost.h:230:63: warning: offsetof within non-standard-layout type 'CPerlHost' is undefined [-Winvalid-offsetof] #define STRUCT2RAWPTR(x, y) (CPerlHost*)(((LPBYTE)x)-offsetof(CPerlHost, y)) ^ perlhost.h:237:38: note: in expansion of macro 'STRUCT2RAWPTR' #define STRUCT2PTR(x, y) CheckInterp(STRUCT2RAWPTR(x, y)) ^~~~~~~~~~~~~ perlhost.h:284:12: note: in expansion of macro 'STRUCT2PTR' return STRUCT2PTR(piPerl, m_hostperlProc); ^ [Please do not change anything below this line] ----------------------------------------------------------------- --- Flags: category=core severity=low --- Site configuration information for perl 5.27.10: Configured by dur-randir at Wed Mar 28 01:45:22 2018. Summary of my perl5 (revision 5 version 27 subversion 10) configuration: Platform: osname=MSWin32 osvers=6.1.7601 archname=MSWin32-x64-perlio uname='' config_args='undef' hint=recommended useposix=true d_sigaction=undef useithreads=undef usemultiplicity=undef use64bitint=define use64bitall=undef uselongdouble=undef usemymalloc=n default_inc_excludes_dot=define bincompat5005=undef Compiler: cc='gcc' ccflags =' -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -fwrapv -fno-strict-aliasing -mms-bitfields' optimize='-s -O2' cppflags='-DWIN32' ccversion='' gccversion='7.3.0' gccosandvers='' intsize=4 longsize=4 ptrsize=8 doublesize=8 byteorder=12345678 doublekind=3 d_longlong=define longlongsize=8 d_longdbl=define longdblsize=16 longdblkind=3 ivtype='long long' ivsize=8 nvtype='double' nvsize=8 Off_t='long long' lseeksize=8 alignbytes=8 prototype=define Linker and Libraries: ld='g++' ldflags ='-s -L"c:\perl\lib\CORE" -L"C:\MinGW\mingw64\lib"' libpth=C:\MinGW\mingw64\lib libs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 perllibs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 libc= so=dll useshrplib=true libperl=libperl527.a gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs dlext=dll d_dlsymun=undef ccdlflags=' ' cccdlflags=' ' lddlflags='-mdll -s -L"c:\perl\lib\CORE" -L"C:\MinGW\mingw64\lib"' --- @INC for perl 5.27.10: C:\perl-git-false\lib C:\perl-git-false\cpan\AutoLoader\lib C:\perl-git-false\dist\Carp\lib C:\perl-git-false\dist\PathTools C:\perl-git-false\dist\PathTools\lib C:\perl-git-false\cpan\ExtUtils-Install\lib C:\perl-git-false\cpan\ExtUtils-MakeMaker\lib C:\perl-git-false\cpan\ExtUtils-Manifest\lib C:\perl-git-false\cpan\File-Path\lib C:\perl-git-false\ext\re C:\perl-git-false\dist\Term-ReadLine\lib C:\perl-git-false\dist\Exporter\lib C:\perl-git-false\ext\File-Find\lib C:\perl-git-false\cpan\Text-Tabs\lib C:\perl-git-false\dist\constant\lib C:\perl-git-false\cpan\version\lib C:\perl-git-false\cpan\Text-ParseWords\lib C:\perl-git-false\dist\ExtUtils-ParseXS\lib C:\perl-git-false\cpan\Getopt-Long\lib C:\perl-git-false\cpan\parent\lib C:\perl-git-false\cpan\ExtUtils-Constant\lib --- Environment for perl 5.27.10: HOME (unset) LANG (unset) LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\perl\bin;C:\Program Files (x86)\AMD\ATI.ACE\Core-Static;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Git\cmd;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\PowerShell\6.0.1\;:c:\mingw\bin;c:\mingw\bin;c:\MinGW\mingw64\bin;c:\dmake PERL_BADLANG (unset) SHELL (unset)
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 222b
On Tue, 27 Mar 2018 17:41:14 -0700, randir wrote: Show quoted text
> While building perl using mingw64 + dmake, I've encountered the > following compilation warnings:
This should be fixed by 59bc72e5d4f9090d1a7d3c9daed60ff7caa8c67b. Tony
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 179b
On Sun, 08 Apr 2018 21:03:52 -0700, tonyc wrote: Show quoted text
> This should be fixed by 59bc72e5d4f9090d1a7d3c9daed60ff7caa8c67b.
The Storable ones are gone, but all other are still present.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org