spacetelescope / drizzle

A package for combining dithered images into a single image
https://spacetelescope-drizzle.readthedocs.io/en/latest/
Other
51 stars 26 forks source link

C-extension compiler warnings #129

Open pllim opened 12 months ago

pllim commented 12 months ago

When you don't use tox, you see this in the build log:

gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/numpy/_core/include -I/home/runner/work/drizzle/drizzle/src -I/opt/hostedtoolcache/Python/3.12.0/x64/include/python3.12 -c /home/runner/work/drizzle/drizzle/src/cdrizzleapi.c -o /tmp/tmp3_q9wi6l.build-temp/home/runner/work/drizzle/drizzle/src/cdrizzleapi.o
  /home/runner/work/drizzle/drizzle/src/cdrizzleapi.c: In function ‘PyInit_cdrizzle’:
  /home/runner/work/drizzle/drizzle/src/cdrizzleapi.c:610:12: warning: returning ‘PyObject *’ {aka ‘struct _object *’} from a function with incompatible return type ‘PyObject **’ {aka ‘struct _object **’} [-Wincompatible-pointer-types]
    610 |     return m;
        |            ^
  gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/numpy/_core/include -I/home/runner/work/drizzle/drizzle/src -I/opt/hostedtoolcache/Python/3.12.0/x64/include/python3.12 -c /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c -o /tmp/tmp3_q9wi6l.build-temp/home/runner/work/drizzle/drizzle/src/cdrizzleblot.o
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c: In function ‘interpolate_poly3’:
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:[120](https://github.com/spacetelescope/drizzle/actions/runs/7014084246/job/19081247879?pr=128#step:4:121):47: warning: ‘cd21[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    120 |       ztemp[j] = sx * (coeff[index+1] + sx2m1 * cd21[j]) +
        |                                         ~~~~~~^~~~~~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:72:18: note: ‘cd21[3]’ was declared here
     72 |   float cd20[4], cd21[4], ztemp[4];
        |                  ^~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:120:47: warning: ‘cd21[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    120 |       ztemp[j] = sx * (coeff[index+1] + sx2m1 * cd21[j]) +
        |                                         ~~~~~~^~~~~~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:72:18: note: ‘cd21[2]’ was declared here
     72 |   float cd20[4], cd21[4], ztemp[4];
        |                  ^~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:120:47: warning: ‘cd21[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    120 |       ztemp[j] = sx * (coeff[index+1] + sx2m1 * cd21[j]) +
        |                                         ~~~~~~^~~~~~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:72:18: note: ‘cd21[1]’ was declared here
     72 |   float cd20[4], cd21[4], ztemp[4];
        |                  ^~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:120:47: warning: ‘cd21[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    120 |       ztemp[j] = sx * (coeff[index+1] + sx2m1 * cd21[j]) +
        |                                         ~~~~~~^~~~~~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:72:18: note: ‘cd21[0]’ was declared here
     72 |   float cd20[4], cd21[4], ztemp[4];
        |                  ^~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:[121](https://github.com/spacetelescope/drizzle/actions/runs/7014084246/job/19081247879?pr=128#step:4:122):45: warning: ‘cd20[3]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    121 |                  tx * (coeff[index] + tx2m1 * cd20[j]);
        |                                       ~~~~~~^~~~~~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:72:9: note: ‘cd20[3]’ was declared here
     72 |   float cd20[4], cd21[4], ztemp[4];
        |         ^~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:121:45: warning: ‘cd20[2]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    121 |                  tx * (coeff[index] + tx2m1 * cd20[j]);
        |                                       ~~~~~~^~~~~~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:72:9: note: ‘cd20[2]’ was declared here
     72 |   float cd20[4], cd21[4], ztemp[4];
        |         ^~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:121:45: warning: ‘cd20[1]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    121 |                  tx * (coeff[index] + tx2m1 * cd20[j]);
        |                                       ~~~~~~^~~~~~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:72:9: note: ‘cd20[1]’ was declared here
     72 |   float cd20[4], cd21[4], ztemp[4];
        |         ^~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:121:45: warning: ‘cd20[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    121 |                  tx * (coeff[index] + tx2m1 * cd20[j]);
        |                                       ~~~~~~^~~~~~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:72:9: note: ‘cd20[0]’ was declared here
     72 |   float cd20[4], cd21[4], ztemp[4];
        |         ^~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c: In function ‘interpolate_sinc’:
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:673:19: warning: array subscript -1 is below array bounds of ‘float[15]’ [-Warray-bounds]
    673 |         px = taper[j - 1] / ax;
        |              ~~~~~^~~~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:596:9: note: while referencing ‘taper’
    596 |   float taper[INTERPOLATE_SINC_NCONV];
        |         ^~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:681:19: warning: array subscript -1 is below array bounds of ‘float[15]’ [-Warray-bounds]
    681 |         py = taper[j - 1] / ay;
        |              ~~~~~^~~~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:596:9: note: while referencing ‘taper’
    596 |   float taper[INTERPOLATE_SINC_NCONV];
        |         ^~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:685:9: warning: array subscript -1 is below array bounds of ‘float[15]’ [-Warray-bounds]
    685 |       ac[j - 1] = px;
        |       ~~^~~~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:597:9: note: while referencing ‘ac’
    597 |   float ac[INTERPOLATE_SINC_NCONV], ar[INTERPOLATE_SINC_NCONV];
        |         ^~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:686:9: warning: array subscript -1 is below array bounds of ‘float[15]’ [-Warray-bounds]
    686 |       ar[j - 1] = py;
        |       ~~^~~~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzleblot.c:597:37: note: while referencing ‘ar’
    597 |   float ac[INTERPOLATE_SINC_NCONV], ar[INTERPOLATE_SINC_NCONV];
        |                                     ^~
  gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/numpy/_core/include -I/home/runner/work/drizzle/drizzle/src -I/opt/hostedtoolcache/Python/3.12.0/x64/include/python3.12 -c /home/runner/work/drizzle/drizzle/src/cdrizzlebox.c -o /tmp/tmp3_q9wi6l.build-temp/home/runner/work/drizzle/drizzle/src/cdrizzlebox.o
  /home/runner/work/drizzle/drizzle/src/cdrizzlebox.c: In function ‘do_kernel_point’:
  /home/runner/work/drizzle/drizzle/src/cdrizzlebox.c:254:15: warning: unused variable ‘ybounds’ [-Wunused-variable]
    254 |     integer_t ybounds[2], osize[2];
        |               ^~~~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzlebox.c: In function ‘do_kernel_tophat’:
  /home/runner/work/drizzle/drizzle/src/cdrizzlebox.c:343:15: warning: unused variable ‘ybounds’ [-Wunused-variable]
    343 |     integer_t ybounds[2], osize[2];
        |               ^~~~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzlebox.c: In function ‘do_kernel_gaussian’:
  /home/runner/work/drizzle/drizzle/src/cdrizzlebox.c:461:15: warning: unused variable ‘ybounds’ [-Wunused-variable]
    461 |     integer_t ybounds[2], osize[2];
        |               ^~~~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzlebox.c: In function ‘do_kernel_lanczos’:
  /home/runner/work/drizzle/drizzle/src/cdrizzlebox.c:589:15: warning: unused variable ‘ybounds’ [-Wunused-variable]
    589 |     integer_t ybounds[2], osize[2];
        |               ^~~~~~~
  At top level:
  /home/runner/work/drizzle/drizzle/src/cdrizzlebox.c:15:13: warning: ‘buf’ defined but not used [-Wunused-variable]
     15 | static char buf[1024];
        |             ^~~
  gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/numpy/_core/include -I/home/runner/work/drizzle/drizzle/src -I/opt/hostedtoolcache/Python/3.12.0/x64/include/python3.12 -c /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c -o /tmp/tmp3_q9wi6l.build-temp/home/runner/work/drizzle/drizzle/src/cdrizzlemap.o
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c: In function ‘interpolate_point’:
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c:108:27: warning: unused variable ‘idim’ [-Wunused-variable]
    108 |     int ipix, jpix, npix, idim;
        |                           ^~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c:108:21: warning: unused variable ‘npix’ [-Wunused-variable]
    108 |     int ipix, jpix, npix, idim;
        |                     ^~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c:108:15: warning: unused variable ‘jpix’ [-Wunused-variable]
    108 |     int ipix, jpix, npix, idim;
        |               ^~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c:108:9: warning: unused variable ‘ipix’ [-Wunused-variable]
    108 |     int ipix, jpix, npix, idim;
        |         ^~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c: In function ‘map_point’:
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c:201:15: warning: variable ‘status’ set but not used [-Wunused-but-set-variable]
    201 |     int i, j, status;
        |               ^~~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c: In function ‘clip_polygon_to_window’:
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c:501:16: warning: passing argument 1 of ‘orient_ccw’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
    501 |     orient_ccw(p);
        |                ^
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c:438:28: note: expected ‘struct polygon *’ but argument is of type ‘const struct polygon *’
    438 | orient_ccw(struct polygon *p) {
        |            ~~~~~~~~~~~~~~~~^
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c:502:16: warning: passing argument 1 of ‘orient_ccw’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
    502 |     orient_ccw(wnd);
        |                ^~~
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c:438:28: note: expected ‘struct polygon *’ but argument is of type ‘const struct polygon *’
    438 | orient_ccw(struct polygon *p) {
        |            ~~~~~~~~~~~~~~~~^
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c:495:21: warning: unused variable ‘signed_area’ [-Wunused-variable]
    495 |     double t, u, d, signed_area, app_, aww_;
        |                     ^~~~~~~~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c:495:15: warning: unused variable ‘u’ [-Wunused-variable]
    495 |     double t, u, d, signed_area, app_, aww_;
        |               ^
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c:495:12: warning: unused variable ‘t’ [-Wunused-variable]
    495 |     double t, u, d, signed_area, app_, aww_;
        |            ^
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c: In function ‘init_image_scanner’:
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c:911:9: warning: unused variable ‘ipoint’ [-Wunused-variable]
    911 |     int ipoint;
        |         ^~~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c:910:25: warning: unused variable ‘osize’ [-Wunused-variable]
    910 |     integer_t isize[2], osize[2];
        |                         ^~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c:910:15: warning: unused variable ‘isize’ [-Wunused-variable]
    910 |     integer_t isize[2], osize[2];
        |               ^~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c:909:21: warning: unused variable ‘xyout’ [-Wunused-variable]
    909 |     double xyin[2], xyout[2];
        |                     ^~~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c:909:12: warning: unused variable ‘xyin’ [-Wunused-variable]
    909 |     double xyin[2], xyout[2];
        |            ^~~~
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c: In function ‘map_point’:
  /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c:216:1: warning: control reaches end of non-void function [-Wreturn-type]
    216 | }
        | ^
  In file included from /opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarrayobject.h:21,
                   from /opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/numpy/_core/include/numpy/arrayobject.h:5,
                   from /home/runner/work/drizzle/drizzle/src/cdrizzlemap.c:10:
  At top level:
  /opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/numpy/_core/include/numpy/__multiarray_api.h:[145](https://github.com/spacetelescope/drizzle/actions/runs/7014084246/job/19081247879?pr=128#step:4:146)8:1: warning: ‘_import_array’ defined but not used [-Wunused-function]
   1458 | _import_array(void)
        | ^~~~~~~~~~~~~
  gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/numpy/_core/include -I/home/runner/work/drizzle/drizzle/src -I/opt/hostedtoolcache/Python/3.12.0/x64/include/python3.12 -c /home/runner/work/drizzle/drizzle/src/cdrizzleutil.c -o /tmp/tmp3_q9wi6l.build-temp/home/runner/work/drizzle/drizzle/src/cdrizzleutil.o
  /home/runner/work/drizzle/drizzle/src/cdrizzleutil.c: In function ‘create_lanczos_lut’:
  /home/runner/work/drizzle/drizzle/src/cdrizzleutil.c:277:17: warning: comparison of integer expressions of different signedness: ‘integer_t’ {aka ‘int’} and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
    277 |   for (i = 1; i < npix; ++i) {
        |                 ^
  In file included from /usr/include/string.h:535,
                   from /opt/hostedtoolcache/Python/3.12.0/x64/include/python3.12/Python.h:26,
                   from /home/runner/work/drizzle/drizzle/src/cdrizzleutil.h:5,
                   from /home/runner/work/drizzle/drizzle/src/cdrizzlemap.h:5,
                   from /home/runner/work/drizzle/drizzle/src/cdrizzleutil.c:3:
  In function ‘strncpy’,
      inlined from ‘driz_error_set_message’ at /home/runner/work/drizzle/drizzle/src/cdrizzleutil.c:39:3:
  /usr/include/x86_64-linux-gnu/bits/string_fortified.h:95:10: warning: ‘__builtin_strncpy’ specified bound 512 equals destination size [-Wstringop-truncation]
     95 |   return __builtin___strncpy_chk (__dest, __src, __len,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     96 |                                   __glibc_objsize (__dest));
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
  gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/numpy/_core/include -I/home/runner/work/drizzle/drizzle/src -I/opt/hostedtoolcache/Python/3.12.0/x64/include/python3.12 -c /home/runner/work/drizzle/drizzle/src/tests/utest_cdrizzle.c -o /tmp/tmp3_q9wi6l.build-temp/home/runner/work/drizzle/drizzle/src/tests/utest_cdrizzle.o
  /home/runner/work/drizzle/drizzle/src/tests/utest_cdrizzle.c: In function ‘utest_cdrizzle’:
  /home/runner/work/drizzle/drizzle/src/tests/utest_cdrizzle.c:618:23: warning: unused variable ‘ybounds’ [-Wunused-variable]
    618 |             integer_t ybounds[2];       /* start of in-bounds */
        |                       ^~~~~~~
  /home/runner/work/drizzle/drizzle/src/tests/utest_cdrizzle.c:642:23: warning: unused variable ‘ybounds’ [-Wunused-variable]
    642 |             integer_t ybounds[2];       /* start of in-bounds */
        |                       ^~~~~~~
  In file included from /opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/numpy/_core/include/numpy/ndarrayobject.h:21,
                   from /opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/numpy/_core/include/numpy/arrayobject.h:5,
                   from /home/runner/work/drizzle/drizzle/src/tests/utest_cdrizzle.c:9:
  At top level:
  /opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/numpy/_core/include/numpy/__multiarray_api.h:1458:1: warning: ‘_import_array’ defined but not used [-Wunused-function]
   1458 | _import_array(void)
        | ^~~~~~~~~~~~~
  In file included from /usr/include/string.h:535,
                   from /home/runner/work/drizzle/drizzle/src/tests/utest_cdrizzle.c:4:
  In function ‘strncpy’,
      inlined from ‘fctstr_safe_cpy’ at /home/runner/work/drizzle/drizzle/src/tests/fct.h:267:5,
      inlined from ‘fct_test_new’ at /home/runner/work/drizzle/drizzle/src/tests/fct.h:974:5:
  /usr/include/x86_64-linux-gnu/bits/string_fortified.h:95:10: warning: ‘__builtin_strncpy’ specified bound [256](https://github.com/spacetelescope/drizzle/actions/runs/7014084246/job/19081247879?pr=128#step:4:257) equals destination size [-Wstringop-truncation]
     95 |   return __builtin___strncpy_chk (__dest, __src, __len,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     96 |                                   __glibc_objsize (__dest));
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from /home/runner/work/drizzle/drizzle/src/tests/pandokia_fct.h:25,
                   from /home/runner/work/drizzle/drizzle/src/tests/utest_cdrizzle.c:15:
  In function ‘fct_nlist__clear’,
      inlined from ‘fct_nlist__final’ at /home/runner/work/drizzle/drizzle/src/tests/fct.h:751:5,
      inlined from ‘fct_test__del’ at /home/runner/work/drizzle/drizzle/src/tests/fct.h:956:5,
      inlined from ‘fct_test__del’ at /home/runner/work/drizzle/drizzle/src/tests/fct.h:950:1,
      inlined from ‘fct_test_new’ at /home/runner/work/drizzle/drizzle/src/tests/fct.h:991:9:
  /home/runner/work/drizzle/drizzle/src/tests/fct.h:736:41: warning: ‘((fct_nlist_t *)test)[1].used_itm_num’ may be used uninitialized [-Wmaybe-uninitialized]
    736 |         for ( itm_i__=0; itm_i__ != list->used_itm_num; ++itm_i__ )
        |                                     ~~~~^~~~~~~~~~~~~~
  In file included from /usr/include/string.h:535,
                   from /home/runner/work/drizzle/drizzle/src/tests/utest_cdrizzle.c:4:
  In function ‘strncpy’,
      inlined from ‘fctstr_safe_cpy’ at /home/runner/work/drizzle/drizzle/src/tests/fct.h:[267](https://github.com/spacetelescope/drizzle/actions/runs/7014084246/job/19081247879?pr=128#step:4:268):5,
      inlined from ‘fctchk_new’ at /home/runner/work/drizzle/drizzle/src/tests/fct.h:886:5,
      inlined from ‘_fct_xchk_fn_varg’ at /home/runner/work/drizzle/drizzle/src/tests/fct.h:3581:11,
      inlined from ‘fct_xchk_fn’ at /home/runner/work/drizzle/drizzle/src/tests/fct.h:3624:9:
  /usr/include/x86_64-linux-gnu/bits/string_fortified.h:95:10: warning: ‘__builtin_strncpy’ specified bound 256 equals destination size [-Wstringop-truncation]
     95 |   return __builtin___strncpy_chk (__dest, __src, __len,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     96 |                                   __glibc_objsize (__dest));
        |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~

From the tox-free devdeps job in https://github.com/spacetelescope/drizzle/pull/128

mcara commented 1 month ago

I fixed most of the warnings in https://github.com/spacetelescope/drizzle/pull/134. However, the ones related to "may be used uninitialized in this function" or "array subscript -1 is below array bounds" are serious and would require more attention. A separate PR will be needed.