Re: warnings since last DBI release

"H.Merijn Brand" <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.sybase.devel
Message-ID <[email protected]>
On Fri, 03 Feb 2012 10:04:28 +0000, "Martin J. Evans"
<[email protected]> wrote:

> In file included from ODBC.c:70:
> /usr/local/lib/perl/5.10.1/auto/DBI/Driver_xst.h: In function ‘dbdxst_bind_params’:
> /usr/local/lib/perl/5.10.1/auto/DBI/Driver_xst.h:72: warning: passing argument 2 of ‘imp_sth->com.std.dbistate->set_err_char’ from incompatible pointer type
> /usr/local/lib/perl/5.10.1/auto/DBI/Driver_xst.h:72: note: expected ‘struct imp_xxh_t *’ but argument is of type ‘struct imp_sth_t *’
> /usr/local/lib/perl/5.10.1/auto/DBI/Driver_xst.h: In function ‘dbdxst_fetchall_arrayref’:
> /usr/local/lib/perl/5.10.1/auto/DBI/Driver_xst.h:98: warning: passing argument 2 of ‘imp_sth->com.std.dbistate->set_err_char’ from incompatible pointer type
> /usr/local/lib/perl/5.10.1/auto/DBI/Driver_xst.h:98: note: expected ‘struct imp_xxh_t *’ but argument is of type ‘struct imp_sth_t *’
> cc -c -I/usr/include  -I. -I/usr/local/lib/perl/5.10.1/auto/DBI -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g   -DVERSION=\"1.34_3\" -DXS_VERSION=\"1.34_3\" -fPIC "-I/usr/lib/perl/5.10/CORE"  -I/usr/include dbdimp.c
> 
> It is 2 added calls to DBIh_SET_ERR_CHAR in Driver_xst.h.

Warnings (on HP-UX 11.31/5.14.2-64all-ld) *in* last release:

"DBI.xs", line 1469: warning #4232-D: conversion from "XPVHV *" to a more
          strictly aligned type "XPVMG *" may cause misaligned access
              PerlIO_printf(DBILOGFP,"%s CachedKids %d\n", pad, (int)HvKEYS(hv));
                                                                     ^

"DBI.xs", line 2582: warning #4232-D: conversion from "XPVHV *" to a more
          strictly aligned type "XPVMG *" may cause misaligned access
              if (HvKEYS(hv)) {
                  ^

"DBI.xs", line 2587: warning #4232-D: conversion from "XPVHV *" to a more
          strictly aligned type "XPVMG *" may cause misaligned access
                          meth_name, neatsvpv(h,0), (int)HvKEYS(hv));
                                                         ^

"DBI.xs", line 4486: warning #2181-D: argument is incompatible with
          corresponding format string conversion
                  NULL,
                  ^

All tests pass though

1465        if (DBIc_TYPE(imp_xxh) <= DBIt_DB) {
1466            SV **svp = hv_fetch((HV*)SvRV(inner), "CachedKids", 10, 0);
1467            if (svp && SvROK(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVHV) {
1468                HV *hv = (HV*)SvRV(*svp);
1469                PerlIO_printf(DBILOGFP,"%s CachedKids %d\n", pad, (int)HvKEYS(hv));
1470            }
1471        }

2576    clear_cached_kids(pTHX_ SV *h, imp_xxh_t *imp_xxh, const char *meth_name, int trace_level)
2577    {
2578        if (DBIc_TYPE(imp_xxh) <= DBIt_DB) {
2579            SV **svp = hv_fetch((HV*)SvRV(h), "CachedKids", 10, 0);
2580            if (svp && SvROK(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVHV) {
2581                HV *hv = (HV*)SvRV(*svp);
2582                if (HvKEYS(hv)) {
2583                    if (DBIc_TRACE_LEVEL(imp_xxh) > trace_level)
2584                        trace_level = DBIc_TRACE_LEVEL(imp_xxh);
2585                    if (trace_level >= 2) {
2586                        PerlIO_printf(DBIc_LOGPIO(imp_xxh),"    >> %s %s clearing %d CachedKids\n",
2587                            meth_name, neatsvpv(h,0), (int)HvKEYS(hv));
2588                        PerlIO_flush(DBIc_LOGPIO(imp_xxh));
2589                    }
2590                    /* This will probably recurse through dispatch to DESTROY the kids */
2591                    /* For drh we should probably explicitly do dbh disconnects */
2592                    hv_clear(hv);
2593                }
2594            }
2595        }
2596    }

4476        if (level != RETVAL) {
4477            if ((level & DBIc_TRACE_LEVEL_MASK) > 0) {
4478                PerlIO_printf(DBILOGFP,"    DBI %s%s default trace level set to 0x%lx/%ld (pid %d pi %p) at %s\n",
4479                    XS_VERSION, dbi_build_opt,
4480                    (long)(level & DBIc_TRACE_FLAGS_MASK),
4481                    (long)(level & DBIc_TRACE_LEVEL_MASK),
4482                    (int)PerlProc_getpid(),
4483    #ifdef MULTIPLICITY
4484                    (void *)my_perl,
4485    #else
4486                    NULL,
4487    #endif
4488                    log_where(Nullsv, 0, "", "", 1, 1, 0)
4489                );
4490                if (!PL_dowarn)
4491                    PerlIO_printf(DBILOGFP,"    Note: perl is running without the recommended perl -w option\n");
4492                PerlIO_flush(DBILOGFP);
4493            }

-- 
H.Merijn Brand  http://tux.nl   Perl Monger  http://amsterdam.pm.org/
using perl5.00307 .. 5.14   porting perl5 on HP-UX, AIX, and openSUSE
http://mirrors.develooper.com/hpux/        http://www.test-smoke.org/
http://qa.perl.org   http://www.goldmark.org/jeff/stupid-disclaimers/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.