Front page | perl.perl5.porters |
Postings from January 2008
ongoing cflags fun
Thread Next
From:
Nicholas Clark
Date:
January 26, 2008 09:37
Subject:
ongoing cflags fun
Message ID:
20080126164233.GY81396@plum.flirble.org
This is at change 33076:
$ make -C ext/DynaLoader DynaLoader.o
make: Entering directory `/home/nclark/Perl/33076-pedantic/ext/DynaLoader'
ccache gcc -c -pedantic -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"1.0801\" -DXS_VERSION=\"1.0801\" -fPIC "-I../.." -DLIBC="/lib/libc-2.3.6.so" DynaLoader.c
In file included from DynaLoader.xs:120:
../../perl.h:1602:40: warning: anonymous variadic macros were introduced in C99
../../perl.h:1614:41: warning: anonymous variadic macros were introduced in C99
DynaLoader.c: In function 'XS_DynaLoader_dl_load_file':
DynaLoader.c:227: warning: ISO C forbids braced-groups within expressions
DynaLoader.c: In function 'XS_DynaLoader_dl_unload_file':
DynaLoader.c:253: warning: ISO C forbids braced-groups within expressions
DynaLoader.c:253: warning: ISO C forbids braced-groups within expressions
DynaLoader.c:253: warning: ISO C forbids braced-groups within expressions
DynaLoader.c:255: warning: ISO C forbids braced-groups within expressions
DynaLoader.c: In function 'XS_DynaLoader_dl_find_symbol':
DynaLoader.c:293: warning: ISO C forbids braced-groups within expressions
DynaLoader.c: In function 'XS_DynaLoader_dl_undef_symbols':
DynaLoader.c:312: warning: ISO C forbids braced-groups within expressions
DynaLoader.c:312: warning: ISO C forbids braced-groups within expressions
DynaLoader.c: In function 'XS_DynaLoader_dl_install_xsub':
DynaLoader.c:346: warning: ISO C forbids braced-groups within expressions
DynaLoader.c: In function 'XS_DynaLoader_dl_error':
DynaLoader.c:368: warning: ISO C forbids braced-groups within expressions
DynaLoader.c:368: warning: ISO C forbids braced-groups within expressions
DynaLoader.c:370: warning: ISO C forbids braced-groups within expressions
DynaLoader.c: In function 'boot_DynaLoader':
DynaLoader.c:388: warning: ISO C forbids braced-groups within expressions
DynaLoader.c:408: warning: ISO C forbids braced-groups within expressions
DynaLoader.c:408: warning: ISO C forbids braced-groups within expressions
make: Leaving directory `/home/nclark/Perl/33076-pedantic/ext/DynaLoader'
vs
$ make sv.o
`sh cflags "optimize='-O2'" sv.o` sv.c
CCCMD = ccache gcc -DPERL_CORE -c -DPERL_PATCHNUM=33076 -pedantic -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -O2 -Wall -ansi -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -DPERL_GCC_PEDANTIC
The braced groups warnings start with this:
#line 226 "DynaLoader.c"
}
XSRETURN(1);
}
because of this:
#if !(defined(STMT_START) && defined(STMT_END))
# ifdef PERL_USE_GCC_BRACE_GROUPS
# define STMT_START (void)( /* gcc supports "({ STATEMENTS; })" */
# define STMT_END )
# else
because of this
#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) && !defined(__cplusplus)
# ifndef PERL_USE_GCC_BRACE_GROUPS
# define PERL_USE_GCC_BRACE_GROUPS
# endif
#endif
because of this
/* gcc (-ansi) -pedantic doesn't allow gcc statement expressions,
* g++ allows them but seems to have problems with them
* (insane errors ensue). */
#if defined(PERL_GCC_PEDANTIC) || (defined(__GNUC__) && defined(__cplusplus))
# ifndef PERL_GCC_BRACE_GROUPS_FORBIDDEN
# define PERL_GCC_BRACE_GROUPS_FORBIDDEN
# endif
#endif
because cflags.sh doesn't set -DPERL_GCC_PEDANTIC outside the top level core
sources.
Mmm.
What should be done about that? It would be rather useful to have it set.
Nicholas Clark
Thread Next
-
ongoing cflags fun
by Nicholas Clark