Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New compilation warning in blead #17276

Closed
dur-randir opened this issue Nov 8, 2019 · 4 comments
Closed

New compilation warning in blead #17276

dur-randir opened this issue Nov 8, 2019 · 4 comments
Labels
build-time-warnings Replaces [META] Build-time warnings RT #133556

Comments

@dur-randir
Copy link
Member

This is a bug report for perl from sergey.aleynikov@gmail.com,
generated with the help of perlbug 1.41 running under perl 5.31.6.


[Please describe your issue here]

Somewhere during the latest development series the following warning was introduced into the core:

cc -c -DPERL_CORE -fno-common -DPERL_DARWIN -mmacosx-version-min=10.9 -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -I/opt/local/include -DPERL_USE_SAFE_PUTENV -std=c89 -O3 -g -Wall -Werror=declaration-after-statement -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings globals.c
In file included from globals.c:32:
./perl.h:7481:1: warning: unknown warning group '-Wpragmas', ignored [-Wunknown-pragmas]
GCC_DIAG_IGNORE_DECL(-Wpragmas);
^
./perl.h:432:33: note: expanded from macro 'GCC_DIAG_IGNORE_DECL'
#define GCC_DIAG_IGNORE_DECL(x) GCC_DIAG_IGNORE(x) dNOOP
^
./perl.h:426:30: note: expanded from macro 'GCC_DIAG_IGNORE'
GCC_DIAG_PRAGMA(GCC diagnostic ignored #x)
^
./perl.h:423:30: note: expanded from macro 'GCC_DIAG_PRAGMA'

define GCC_DIAG_PRAGMA(x) _Pragma (#x)

                         ^

:276:25: note: expanded from here
GCC diagnostic ignored "-Wpragmas"
^
1 warning generated.

[Please do not change anything below this line]


Flags:
category=core
severity=low

Site configuration information for perl 5.31.6:

Configured by dur-randir at Fri Nov 8 05:18:19 MSK 2019.

Summary of my perl5 (revision 5 version 31 subversion 6) configuration:
Commit id: 1462134
Platform:
osname=darwin
osvers=13.4.0
archname=darwin-2level
uname='darwin isengard.local 13.4.0 darwin kernel version 13.4.0: mon jan 11 18:17:34 pst 2016; root:xnu-2422.115.15~1release_x86_64 x86_64 '
config_args='-de -Dusedevel -DDEBUGGING'
hint=recommended
useposix=true
d_sigaction=define
useithreads=undef
usemultiplicity=undef
use64bitint=define
use64bitall=define
uselongdouble=undef
usemymalloc=n
default_inc_excludes_dot=define
bincompat5005=undef
Compiler:
cc='cc'
ccflags ='-fno-common -DPERL_DARWIN -mmacosx-version-min=10.9 -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -I/opt/local/include -DPERL_USE_SAFE_PUTENV'
optimize='-O3 -g'
cppflags='-fno-common -DPERL_DARWIN -mmacosx-version-min=10.9 -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -I/opt/local/include'
ccversion=''
gccversion='4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)'
gccosandvers=''
intsize=4
longsize=8
ptrsize=8
doublesize=8
byteorder=12345678
doublekind=3
d_longlong=define
longlongsize=8
d_longdbl=define
longdblsize=16
longdblkind=3
ivtype='long'
ivsize=8
nvtype='double'
nvsize=8
Off_t='off_t'
lseeksize=8
alignbytes=8
prototype=define
Linker and Libraries:
ld='cc'
ldflags =' -mmacosx-version-min=10.9 -fstack-protector -L/usr/local/lib -L/opt/local/lib'
libpth=/usr/local/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib /usr/lib /opt/local/lib
libs=-lpthread -lgdbm -ldbm -ldl -lm -lutil -lc
perllibs=-lpthread -ldl -lm -lutil -lc
libc=
so=dylib
useshrplib=false
libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs
dlext=bundle
d_dlsymun=undef
ccdlflags=' '
cccdlflags=' '
lddlflags=' -mmacosx-version-min=10.9 -bundle -undefined dynamic_lookup -L/usr/local/lib -L/opt/local/lib -fstack-protector'


@inc for perl 5.31.6:
lib
/usr/local/lib/perl5/site_perl/5.31.6/darwin-2level
/usr/local/lib/perl5/site_perl/5.31.6
/usr/local/lib/perl5/5.31.6/darwin-2level
/usr/local/lib/perl5/5.31.6


Environment for perl 5.31.6:
DYLD_LIBRARY_PATH (unset)
HOME=/Users/dur-randir
LANG=en_US.UTF-8
LANGUAGE (unset)
LC_CTYPE=en_US.UTF-8
LD_LIBRARY_PATH (unset)
LOGDIR (unset)
PATH=/Users/dur-randir/perlbrew/bin:/Users/dur-randir/perlbrew/perls/perl-5.26.0/bin:/opt/local/bin:/usr/texbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Library/TeX/texbin
PERLBREW_HOME=/Users/dur-randir/.perlbrew
PERLBREW_MANPATH=/Users/dur-randir/perlbrew/perls/perl-5.26.0/man
PERLBREW_PATH=/Users/dur-randir/perlbrew/bin:/Users/dur-randir/perlbrew/perls/perl-5.26.0/bin
PERLBREW_PERL=perl-5.26.0
PERLBREW_ROOT=/Users/dur-randir/perlbrew
PERLBREW_SHELLRC_VERSION=0.86
PERLBREW_VERSION=0.86
PERL_BADLANG (unset)
SHELL=/opt/local/bin/zsh

@jkeenan jkeenan added the build-time-warnings Replaces [META] Build-time warnings RT #133556 label Nov 9, 2019
@jkeenan
Copy link
Contributor

jkeenan commented Nov 9, 2019

I built unthreaded perls, without and with -DDEBUGGING, on both Linux and FreeBSD-11 at 6484c45 using clang-6.0 as the compiler. I got no -Wunused_pragmas warning in any of the 4 builds.

Is it possible that this is Darwin-specific?

Thank you very much.
Jim Keenan

@dur-randir
Copy link
Member Author

It's quite possible. Or related to older clang. This compiler is Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn).

@jkeenan
Copy link
Contributor

jkeenan commented Nov 9, 2019

It's quite possible. Or related to older clang. This compiler is Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn).

Well, on FreeBSD-11, for example, I have:

$ clang --version
FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based on LLVM 6.0.1)

So if the warning only appears on older versions of the compiler, it will probably be up to people using those older versions to supply patches eliminating the warning. (We can barely keep up with warnings generated by new versions of gcc and clang.)

Thank you very much.
Jim Keenan

@jkeenan
Copy link
Contributor

jkeenan commented Dec 13, 2019

This is a bug report for perl from sergey.aleynikov@gmail.com,
generated with the help of perlbug 1.41 running under perl 5.31.6.

[Please describe your issue here]

Somewhere during the latest development series the following warning was introduced into the core:

cc -c -DPERL_CORE -fno-common -DPERL_DARWIN -mmacosx-version-min=10.9 -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -I/opt/local/include -DPERL_USE_SAFE_PUTENV -std=c89 -O3 -g -Wall -Werror=declaration-after-statement -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings globals.c
In file included from globals.c:32:
./perl.h:7481:1: warning: unknown warning group '-Wpragmas', ignored [-Wunknown-pragmas]
GCC_DIAG_IGNORE_DECL(-Wpragmas);
^
./perl.h:432:33: note: expanded from macro 'GCC_DIAG_IGNORE_DECL'
#define GCC_DIAG_IGNORE_DECL(x) GCC_DIAG_IGNORE(x) dNOOP
^
./perl.h:426:30: note: expanded from macro 'GCC_DIAG_IGNORE'
GCC_DIAG_PRAGMA(GCC diagnostic ignored #x)
^
./perl.h:423:30: note: expanded from macro 'GCC_DIAG_PRAGMA'

define GCC_DIAG_PRAGMA(x) _Pragma (#x)

If you would like to try to identify the point in perl-5.31 development in which this build-time warning first appeared in your environment, please consider using Devel::Git::MultiBisect::BuildTransitions (https://metacpan.org/pod/Devel::Git::MultiBisect::BuildTransitions) with this particular method call:

$self->multisect_builds({ probe => 'warning' });

Thank you very much.
Jim Keenan

khwilliamson added a commit that referenced this issue Dec 17, 2019
The previous patch in commit 830b3eb
didn't work generally.  This uses #ifdef instead.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build-time-warnings Replaces [META] Build-time warnings RT #133556
Projects
None yet
Development

No branches or pull requests

3 participants