diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2023-01-10 18:15:27 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2023-01-10 18:26:30 +0000 |
commit | 85723e5e46f7acb9f4403aace3b5192dab15c30e (patch) | |
tree | 312b27ca45e133be010449a5b76fd2dad67907fe | |
parent | 1a366f89b2084e793509d5b9c994a96b09cb22ad (diff) | |
download | ports-85723e5e46f7acb9f4403aace3b5192dab15c30e.tar.gz ports-85723e5e46f7acb9f4403aace3b5192dab15c30e.zip |
science/silo: fix build with clang 15
During an exp-run for llvm 15 (see bug 265425), it turned out that
science/silo failed to build with clang 15:
/wrkdirs/usr/ports/science/silo/work/Silo-4.11-68-g819658e/src/hdf5_drv/silo_hdf5.c:1869:13: error: incompatible integer to pointer conversion passing 'char' to parameter of type 'const char *'; take the address with & [-Wint-conversion]
DB_OBJ_CASE(DB_CURVE, DBcurve_mt, npts?1:1, yvarname)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/wrkdirs/usr/ports/science/silo/work/Silo-4.11-68-g819658e/src/hdf5_drv/silo_hdf5.c:1812:36: note: expanded from macro 'DB_OBJ_CASE'
(*dsnames)[i] = strdup(m.MEMNAME[i]); \
~~~~~~~^~~~~~~~~~~~~
/wrkdirs/usr/ports/science/silo/work/Silo-4.11-68-g819658e/src/silo/silo_private.h:939:35: note: expanded from macro 'strdup'
#define strdup(s) _db_safe_strdup(s)
^
/wrkdirs/usr/ports/science/silo/work/.build/include/silo.h:2214:68: note: passing argument to parameter here
SILO_API extern char * _db_safe_strdup(const char *);
^
This turns out to be a bug in silo, which I reported upstream in
https://github.com/LLNL/Silo/issues/296, and which was fixed in
https://github.com/LLNL/Silo/commit/be29ddf.
PR: 268864
Approved by: yuri (maintainer)
MFH: 2023Q1
-rw-r--r-- | science/silo/files/patch-git-commit-be29ddf | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/science/silo/files/patch-git-commit-be29ddf b/science/silo/files/patch-git-commit-be29ddf new file mode 100644 index 000000000000..fba494b0b956 --- /dev/null +++ b/science/silo/files/patch-git-commit-be29ddf @@ -0,0 +1,44 @@ +commit be29ddf0352bc8e5a7eecc8772a3acb64dfde18c +Author: miller86 <miller86@llnl.gov> +Date: Fri Dec 2 19:00:20 2022 -0800 + + fix obj-case-macro + +diff --git src/hdf5_drv/silo_hdf5.c src/hdf5_drv/silo_hdf5.c +index 17af250..c45d689 100644 +--- src/hdf5_drv/silo_hdf5.c ++++ src/hdf5_drv/silo_hdf5.c +@@ -1809,7 +1809,7 @@ db_hdf5_cwg(DBfile *_dbfile) + *dscount = m.MEMCNT; \ + *dsnames = (char **) calloc(*dscount, sizeof(char**)); \ + for (i = 0; i < *dscount; i++) \ +- (*dsnames)[i] = strdup(m.MEMNAME[i]); \ ++ (*dsnames)[i] = strdup(m.MEMNAME); \ + break; \ + } + +@@ -1857,15 +1857,15 @@ db_hdf5_get_obj_dsnames(DBfile *_dbfile, char const *name, int *dscount, char ** + + switch(_objtype) + { +- DB_OBJ_CASE(DB_QUADVAR, DBquadvar_mt, nvals, value) +- /*DB_OBJ_CASE(DB_QUAD_RECT, DBquadmesh_mt, nspace, coord) wont work for rect case */ +- DB_OBJ_CASE(DB_QUAD_CURV, DBquadmesh_mt, nspace, coord) +- DB_OBJ_CASE(DB_QUADMESH, DBquadmesh_mt, nspace, coord) +- DB_OBJ_CASE(DB_UCDVAR, DBucdvar_mt, nvals, value) +- DB_OBJ_CASE(DB_UCDMESH, DBucdmesh_mt, ndims, coord) +- DB_OBJ_CASE(DB_POINTVAR, DBpointvar_mt, nvals, data) +- DB_OBJ_CASE(DB_POINTMESH, DBpointmesh_mt, ndims, coord) +- DB_OBJ_CASE(DB_CSGVAR, DBcsgvar_mt, nvals, vals) ++ DB_OBJ_CASE(DB_QUADVAR, DBquadvar_mt, nvals, value[i]) ++ /*DB_OBJ_CASE(DB_QUAD_RECT, DBquadmesh_mt, nspace, coord[i]) wont work for rect case */ ++ DB_OBJ_CASE(DB_QUAD_CURV, DBquadmesh_mt, nspace, coord[i]) ++ DB_OBJ_CASE(DB_QUADMESH, DBquadmesh_mt, nspace, coord[i]) ++ DB_OBJ_CASE(DB_UCDVAR, DBucdvar_mt, nvals, value[i]) ++ DB_OBJ_CASE(DB_UCDMESH, DBucdmesh_mt, ndims, coord[i]) ++ DB_OBJ_CASE(DB_POINTVAR, DBpointvar_mt, nvals, data[i]) ++ DB_OBJ_CASE(DB_POINTMESH, DBpointmesh_mt, ndims, coord[i]) ++ DB_OBJ_CASE(DB_CSGVAR, DBcsgvar_mt, nvals, vals[i]) + DB_OBJ_CASE(DB_CURVE, DBcurve_mt, npts?1:1, yvarname) + } + H5Tclose(o); |