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

Build-time warnings on quadmath builds #188

Open
jkeenan opened this issue May 5, 2021 · 1 comment
Open

Build-time warnings on quadmath builds #188

jkeenan opened this issue May 5, 2021 · 1 comment

Comments

@jkeenan
Copy link
Collaborator

jkeenan commented May 5, 2021

When building Devel-NYTProf on quadmath builds on Linux, build-time warnings are generated. Excerpt:

# config_args: -Dusethreads -Dusequadmath

$ quadperl Makefile.PL
Looking for header files and functions...
Found clock_gettime in time.h
Found deflateInit2 in zlib.h
Assertion testing enabled
Your perl was compiled with gcc (version 9.3.0), okay.
Generating a Unix-style Makefile
Writing Makefile for Devel::NYTProf
Writing MYMETA.yml and MYMETA.json
[devel-nytprof] 592 $ make
Skip blib/lib/Devel/NYTProf/Data.pm (unchanged)

[snip]

Skip blib/lib/Devel/NYTProf/js/asc.png (unchanged)
Running Mkbootstrap for NYTProf ()
chmod 644 "NYTProf.bs"
"/home/jkeenan/testing/v5.34.0-RC1/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- NYTProf.bs blib/arch/auto/Devel/NYTProf/NYTProf.bs 644
"/home/jkeenan/testing/v5.34.0-RC1/bin/perl" "/home/jkeenan/testing/v5.34.0-RC1/lib/perl5/5.34.0/ExtUtils/xsubpp"  -typemap '/home/jkeenan/testing/v5.34.0-RC1/lib/perl5/5.34.0/ExtUtils/typemap' -typemap '/home/jkeenan/gitwork/zzzothers/devel-nytprof/typemap'  FileHandle.xs > FileHandle.xsc
mv FileHandle.xsc FileHandle.c
cc -c   -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSION=\"6.09\" -DXS_VERSION=\"6.09\" -fPIC "-I/home/jkeenan/testing/v5.34.0-RC1/lib/perl5/5.34.0/x86_64-linux-thread-multi-quadmath/CORE"  -DHAS_CLOCK_GETTIME -DHAS_ZLIB -DUSE_HARD_ASSERT -W -Wall -Wpointer-arith -Wbad-function-cast -Wno-comment -Wno-sign-compare -Wno-cast-qual -Wmissing-noreturn -Wno-unused-parameter FileHandle.c
FileHandle.xs: In function ‘NYTP_write_attribute_nv’:
FileHandle.xs:972:60: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
  972 |     const size_t len = my_snprintf(buffer, sizeof(buffer), "%"NVgf, value);
      |                                                            ^~~
FileHandle.xs:972:60: warning: too many arguments for format [-Wformat-extra-args]
"/home/jkeenan/testing/v5.34.0-RC1/bin/perl" "/home/jkeenan/testing/v5.34.0-RC1/lib/perl5/5.34.0/ExtUtils/xsubpp"  -typemap '/home/jkeenan/testing/v5.34.0-RC1/lib/perl5/5.34.0/ExtUtils/typemap' -typemap '/home/jkeenan/gitwork/zzzothers/devel-nytprof/typemap'  NYTProf.xs > NYTProf.xsc
mv NYTProf.xsc NYTProf.c
cc -c   -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSION=\"6.09\" -DXS_VERSION=\"6.09\" -fPIC "-I/home/jkeenan/testing/v5.34.0-RC1/lib/perl5/5.34.0/x86_64-linux-thread-multi-quadmath/CORE"  -DHAS_CLOCK_GETTIME -DHAS_ZLIB -DUSE_HARD_ASSERT -W -Wall -Wpointer-arith -Wbad-function-cast -Wno-comment -Wno-sign-compare -Wno-cast-qual -Wmissing-noreturn -Wno-unused-parameter NYTProf.c
NYTProf.xs: In function ‘open_output_file’:
NYTProf.xs:1841:58: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
 1841 |             sprintf(&filename_buf[strlen(filename_buf)], ".%.0"NVff"", gettimeofday_nv());
      |                                                          ^~~~~~
NYTProf.xs:1841:58: warning: too many arguments for format [-Wformat-extra-args]
NYTProf.xs:1860:17: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
 1860 |         logwarn("~ opened %s at %.6"NVff"\n", filename, gettimeofday_nv());
      |                 ^~~~~~~~~~~~~~~~~~~~
NYTProf.xs:1860:17: warning: too many arguments for format [-Wformat-extra-args]
NYTProf.xs: In function ‘close_output_file’:
NYTProf.xs:1890:17: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
 1890 |         logwarn("~ closed file at %.6"NVff"\n", timeofday);
      |                 ^~~~~~~~~~~~~~~~~~~~~~
NYTProf.xs:1890:17: warning: too many arguments for format [-Wformat-extra-args]
NYTProf.xs: In function ‘incr_sub_inclusive_time’:
NYTProf.xs:2229:17: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
 2229 |         logwarn("%2u <-     %s %"NVgf" excl = %"NVgf"t incl - %"NVgf"t (%"NVgf"-%"NVgf"), oh %"NVff"-%"NVff"=%"NVff"t, d%d @%d:%d #%lu %p\n",
      |                 ^~~~~~~~~~~~~~~~~
NYTProf.xs:2229:17: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
NYTProf.xs:2229:17: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
NYTProf.xs:2229:17: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
NYTProf.xs:2229:17: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
NYTProf.xs:2229:17: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
NYTProf.xs:2229:17: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
NYTProf.xs:2229:17: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
NYTProf.xs:2229:17: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘NV’ {aka ‘_Float128’} [-Wformat=]
NYTProf.xs:2229:17: warning: format ‘%d’ expects argument of type ‘int’, but argument 5 has type ‘NV’ {aka ‘_Float128’} [-Wformat=]
NYTProf.xs:2229:17: warning: format ‘%d’ expects argument of type ‘int’, but argument 6 has type ‘NV’ {aka ‘_Float128’} [-Wformat=]
NYTProf.xs:2229:17: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 7 has type ‘NV’ {aka ‘_Float128’} [-Wformat=]
NYTProf.xs:2229:17: warning: format ‘%p’ expects argument of type ‘void *’, but argument 8 has type ‘NV’ {aka ‘_Float128’} [-Wformat=]
NYTProf.xs:2229:17: warning: too many arguments for format [-Wformat-extra-args]
NYTProf.xs: In function ‘pp_subcall_profiler’:
NYTProf.xs:2895:17: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
 2895 |         logwarn("%2u ->%4s %s::%s from %s::%s @%u:%u (d%d, oh %"NVff"t, sub %"NVff"s) #%lu\n",
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NYTProf.xs:2895:17: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
NYTProf.xs:2895:17: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 11 has type ‘NV’ {aka ‘_Float128’} [-Wformat=]
NYTProf.xs:2895:17: warning: too many arguments for format [-Wformat-extra-args]
NYTProf.xs: In function ‘finish_profile’:
NYTProf.xs:3051:17: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
 3051 |         logwarn("~ finish_profile (overhead %"NVgf"t, is_profiling %d)\n",
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NYTProf.xs:3051:17: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘NV’ {aka ‘_Float128’} [-Wformat=]
NYTProf.xs:3051:17: warning: too many arguments for format [-Wformat-extra-args]
NYTProf.xs: In function ‘write_sub_callers’:
NYTProf.xs:3679:29: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
 3679 |                     logwarn("%s call has negative time: incl %"NVff"s, excl %"NVff"s:\n",
      |                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NYTProf.xs:3679:29: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
NYTProf.xs:3679:29: warning: too many arguments for format [-Wformat-extra-args]
NYTProf.xs:3690:29: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
 3690 |                     logwarn("%s called by %.*s at %u:%u: count %ld (i%"NVff"s e%"NVff"s, d%d ri%"NVff"s)\n",
      |                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NYTProf.xs:3690:29: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
NYTProf.xs:3690:29: warning: format ‘%d’ expects argument of type ‘int’, but argument 8 has type ‘NV’ {aka ‘_Float128’} [-Wformat=]
NYTProf.xs:3690:29: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
NYTProf.xs:3690:29: warning: too many arguments for format [-Wformat-extra-args]
NYTProf.xs: In function ‘load_sub_callers_callback’:
NYTProf.xs:4279:17: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
 4279 |         logwarn("Sub %s called by %s %u:%u: count %d, incl %"NVff", excl %"NVff"\n",
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NYTProf.xs:4279:17: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
NYTProf.xs:4279:17: warning: too many arguments for format [-Wformat-extra-args]
NYTProf.xs: In function ‘load_pid_start_callback’:
NYTProf.xs:4401:17: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
 4401 |         logwarn("Start of profile data for pid %s (ppid %d, %"IVdf" pids live) at %"NVff"\n",
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NYTProf.xs:4401:17: warning: too many arguments for format [-Wformat-extra-args]
NYTProf.xs: In function ‘load_pid_end_callback’:
NYTProf.xs:4433:17: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
 4433 |         logwarn("End of profile data for pid %s (%"IVdf" remaining) at %"NVff"\n", text,
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NYTProf.xs:4433:17: warning: too many arguments for format [-Wformat-extra-args]
NYTProf.xs: In function ‘load_profile_to_hv’:
NYTProf.xs:5046:21: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
 5046 |             logwarn("The sum of the statement timings is %.1"NVff"%% of the total time profiling."
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NYTProf.xs:5046:21: warning: too many arguments for format [-Wformat-extra-args]
NYTProf.xs:5054:21: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
 5054 |             logwarn("Summary: statements profiled %lu (=%lu-%lu), sum of time %"NVff"s, profile spanned %"NVff"s\n",
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NYTProf.xs:5054:21: warning: unknown conversion type character ‘Q’ in format [-Wformat=]
NYTProf.xs:5054:21: warning: too many arguments for format [-Wformat-extra-args]
rm -f blib/arch/auto/Devel/NYTProf/NYTProf.so
[snip]
@jkeenan
Copy link
Collaborator Author

jkeenan commented May 9, 2021

Remains open in CPAN release 6.10.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant