This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Hi Carl, Thanks for the bug report; I'm surprised that the code is an issue, and I doubt I would have discovered this issue myself, lacking the PGI compiler as we do. I'll experiment with fixing this with your suggestion when I return to the office (I've been out on personal travel the past week) and perhaps we can see if performing an explicit != 0 check fixes the issue with PGI. It shouldn't be a big change, but the broader compiler support we have the better. Have a great day, -Ward > I'm using the PGI 16.3 compiler to build NetCDF-C version 4.4.0. > When I run the "make -i -k check" I see these issues > > FAIL: nc_test > FAIL: tst_atts3 > > Here are the compilation messages from nc_test/test-suite.log > (duplicates removed): > > 829 FAILURE at line 220 of test_get.c: NetCDF: Numeric > conversion not representable > 858 FAILURE at line 4501 of test_get.c: NetCDF: Numeric > conversion not representable > 914 FAILURE at line 3607 of test_put.c: NetCDF: Numeric > conversion not representable > 915 FAILURE at line 445 of test_put.c: nc_get_var1_schar: > NetCDF: Numeric conversion not representable > 932 FAILURE at line 2391 of test_put.c: NetCDF: Numeric > conversion not representable > 951 FAILURE at line 5401 of test_put.c: NetCDF: Numeric > conversion not representable > 970 FAILURE at line 7449 of test_put.c: NetCDF: Numeric > conversion not representable > 989 FAILURE at line 9540 of test_put.c: NetCDF: Numeric > conversion not representable > 1008 FAILURE at line 11355 of test_put.c: NetCDF: Numeric > conversion not representable > > The offending lines are performing boolean tests on integer variables > innc_test/test_get.c > > 178 int err; > 220 IF (err) { > 4378 int err; > 4501 IF (err) > > and innc_test/test_put.c > > 400 int err; /* status */ > 445 IF (err) { > 2331 int err; > 2391 IF (err) > 3549 int err; > 3607 IF (err) > 5263 int err; > 5401 IF (err) > 7311 int err; > 7449 IF (err) > 9394 int err; > 9540 IF (err) > 11319 int err; > 11355 IF (err) > > and would probably be fixed by using(err != 0) instead. > Thanks, > > Carl Ponder > > > ----------------------------------------------------------------------------------- > This email message is for the sole use of the intended recipient(s) and may > contain > confidential information. Any unauthorized review, use, disclosure or > distribution > is prohibited. If you are not the intended recipient, please contact the > sender by > reply email and destroy all copies of the original message. > ----------------------------------------------------------------------------------- > > Ticket Details =================== Ticket ID: KML-376288 Department: Support netCDF Priority: Normal Status: Closed