mirror of
https://github.com/Unidata/netcdf-c.git
synced 2024-12-09 08:11:38 +08:00
245961de00
https://github.com/Unidata/netcdf-c/issues/1168 https://github.com/Unidata/netcdf-c/issues/1163 https://github.com/Unidata/netcdf-c/issues/1162 This PR partially fixes memory leaks in the netcdf-c library, in the ncdump utility, and in some test cases. The netcdf-c library now runs memory clean with the assumption that the --disable-utilities option is used. The primary remaining problem is ncgen. Once that is fixed, I believe the netcdf-c library will run memory clean with no limitations. Notes ----------- 1. Memory checking was performed using gcc -fsanitize=address. Valgrind-based testing has yet to be performed. 2. The pnetcdf, hdf4, and examples code has not been tested. Misc. Non-leak changes 1. Make tst_diskless2 only run when netcdf4 is enabled (issue 1162) 2. Fix CmakeLists.txt to turn off logging if ENABLE_NETCDF_4 is OFF 3. Isolated all my debug scripts into a single top-level directory called debug 4. Fix some USE_NETCDF4 dependencies in nc_test and nc_test4 Makefile.am
55 lines
1.1 KiB
Plaintext
55 lines
1.1 KiB
Plaintext
# Test c output
|
|
T=tst_fileinfo
|
|
|
|
#ARGS=./x.nc
|
|
|
|
#TF=test_atomic_array.cdl
|
|
|
|
#CMD=valgrind --leak-check=full
|
|
CMD=gdb --args
|
|
|
|
#HDF4=1
|
|
#PAR=1
|
|
|
|
TD=/cygdrive/d/git/thredds/dap4/d4tests/src/test/data/resources/testfiles
|
|
|
|
CFLAGS=-Wall -g -O0 -I.. -I../include
|
|
|
|
ifdef PAR
|
|
CC=mpicc
|
|
#CC=/usr/local/bin/mpicc
|
|
LDFLAGS=../liblib/.libs/libnetcdf.a -L/usr/local/lib -lhdf5_hl -lhdf5 -lz -ldl -lcurl -lpnetcdf -lmpich -lm
|
|
else
|
|
ifdef HDF4
|
|
CC=gcc
|
|
LDFLAGS=../liblib/.libs/libnetcdf.a -L/usr/local/lib -lhdf5_hl -lhdf5 -lz -ldl -lm -lcurl
|
|
else
|
|
CC=gcc
|
|
#LDFLAGS=../liblib/.libs/libnetcdf.a -L/usr/local/lib -lhdf5_hl -lhdf5 -lz -lm -lcurl
|
|
LDFLAGS=../liblib/.libs/libnetcdf.a -L/usr/local/lib -lhdf5_hl -lhdf5 -lz -ldl -lm -lcurl
|
|
endif
|
|
endif
|
|
|
|
# cd .. ; ${MAKE} all
|
|
|
|
LLP=/usr/local/lib:${LD_LIBRARY_PATH}
|
|
|
|
all:: comp
|
|
export LD_LIBRARY_PATH=${LLP}; export CFLAGS; export LDFLAGS; \
|
|
${CMD} ./$T ${ARGS}
|
|
|
|
comp::
|
|
export LD_LIBRARY_PATH=${LLP}; export CFLAGS; export LDFLAGS; \
|
|
${CC} -o $T ${CFLAGS} ${T}.c ${SRC} ${LDFLAGS}; \
|
|
|
|
x.nc: x.cdl
|
|
ncgen -4 x.cdl
|
|
|
|
x.cdl: ${TD}/${TF}
|
|
rm -f ./x.cdl
|
|
cat ${TD}/${TF} > ./x.cdl
|
|
|
|
|
|
cpp::
|
|
${CC} -E ${CFLAGS} ${T}.c > ${T}.txt
|