[netcdf] 01/02: Add patch to fix conflicting type errors on arm.
Sebastiaan Couwenberg
sebastic at moszumanska.debian.org
Sun Jan 17 14:52:27 UTC 2016
This is an automated email from the git hooks/post-receive script.
sebastic pushed a commit to branch master
in repository netcdf.
commit c1a09b8ccbfce261fa052b2f7ec517c5c7994268
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date: Sun Jan 17 02:20:55 2016 +0100
Add patch to fix conflicting type errors on arm.
---
debian/changelog | 6 +
debian/patches/m4-generated-sources.patch | 502 ++++++++++++++++++++++++++++++
debian/patches/series | 1 +
3 files changed, 509 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index 4d14572..dff2912 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+netcdf (1:4.4.0-1~exp2) UNRELEASED; urgency=medium
+
+ * Add patch to fix conflicting type errors on arm.
+
+ -- Bas Couwenberg <sebastic at debian.org> Sun, 17 Jan 2016 02:20:39 +0100
+
netcdf (1:4.4.0-1~exp1) experimental; urgency=medium
* New upstream release.
diff --git a/debian/patches/m4-generated-sources.patch b/debian/patches/m4-generated-sources.patch
new file mode 100644
index 0000000..6d02791
--- /dev/null
+++ b/debian/patches/m4-generated-sources.patch
@@ -0,0 +1,502 @@
+Description: Regenerate C sources from m4.
+ Fixes conflicting type errors on arm.
+Author: Bas Couwenberg <sebastic at debian.org>
+Forwarded: not-needed
+
+--- a/libsrc/ncx.c
++++ b/libsrc/ncx.c
+@@ -569,7 +569,7 @@ ncx_put_short_schar(void *xp, const scha
+ *cp++ = 0xff;
+ else
+ *cp++ = 0;
+- *cp = (uchar)*ip;
++ *cp = (uchar)(signed)*ip;
+ return ENOERR;
+ }
+
+@@ -722,7 +722,7 @@ get_ix_ushort(const void *xp, ix_ushort
+ *ip |= (~(0xffff)); /* N.B. Assumes "twos complement" */
+ }
+ #endif
+- *ip |= *cp;
++ *ip |= *cp;
+ }
+
+ static void
+@@ -886,7 +886,7 @@ ncx_put_ushort_schar(void *xp, const sch
+ *cp++ = 0xff;
+ else
+ *cp++ = 0;
+- *cp = (uchar)*ip;
++ *cp = (uchar)(signed)*ip;
+ if (*ip < 0) return NC_ERANGE;
+
+ return ENOERR;
+@@ -1211,7 +1211,7 @@ ncx_put_int_schar(void *xp, const schar
+ *cp++ = 0x00;
+ *cp++ = 0x00;
+ }
+- *cp = (uchar)*ip;
++ *cp = (uchar)(signed)*ip;
+ return ENOERR;
+ }
+
+@@ -1360,7 +1360,7 @@ get_ix_uint(const void *xp, ix_uint *ip)
+ *ip = *cp++ << 24;
+ *ip |= (*cp++ << 16);
+ *ip |= (*cp++ << 8);
+- *ip |= *cp;
++ *ip |= *cp;
+ }
+
+ static void
+@@ -1529,7 +1529,7 @@ ncx_put_uint_schar(void *xp, const schar
+ *cp++ = 0x00;
+ *cp++ = 0x00;
+ *cp++ = 0x00;
+- *cp = (uchar)*ip;
++ *cp = (uchar)(signed)*ip;
+
+ if (*ip < 0) return NC_ERANGE;
+
+@@ -3674,7 +3674,7 @@ int
+ ncx_getn_schar_schar(const void **xpp, size_t nelems, schar *tp)
+ {
+ (void) memcpy(tp, *xpp, nelems);
+- *xpp = (void *)((char *)(*xpp) + nelems);
++ *xpp = (void *)((schar *)(*xpp) + nelems);
+ return ENOERR;
+
+ }
+@@ -3682,7 +3682,7 @@ int
+ ncx_getn_schar_uchar(const void **xpp, size_t nelems, uchar *tp)
+ {
+ (void) memcpy(tp, *xpp, nelems);
+- *xpp = (void *)((char *)(*xpp) + nelems);
++ *xpp = (void *)((schar *)(*xpp) + nelems);
+ return ENOERR;
+
+ }
+@@ -4032,7 +4032,7 @@ ncx_putn_schar_short(void **xpp, size_t
+ {
+ if(*tp > X_SCHAR_MAX || *tp < X_SCHAR_MIN)
+ status = NC_ERANGE;
+- *xp++ = (schar) *tp++;
++ *xp++ = (schar) (signed)*tp++;
+ }
+
+ *xpp = (void *)xp;
+@@ -4049,7 +4049,7 @@ ncx_putn_schar_int(void **xpp, size_t ne
+ {
+ if(*tp > X_SCHAR_MAX || *tp < X_SCHAR_MIN)
+ status = NC_ERANGE;
+- *xp++ = (schar) *tp++;
++ *xp++ = (schar) (signed)*tp++;
+ }
+
+ *xpp = (void *)xp;
+@@ -4066,7 +4066,7 @@ ncx_putn_schar_float(void **xpp, size_t
+ {
+ if(*tp > X_SCHAR_MAX || *tp < X_SCHAR_MIN)
+ status = NC_ERANGE;
+- *xp++ = (schar) *tp++;
++ *xp++ = (schar) (signed)*tp++;
+ }
+
+ *xpp = (void *)xp;
+@@ -4083,7 +4083,7 @@ ncx_putn_schar_double(void **xpp, size_t
+ {
+ if(*tp > X_SCHAR_MAX || *tp < X_SCHAR_MIN)
+ status = NC_ERANGE;
+- *xp++ = (schar) *tp++;
++ *xp++ = (schar) (signed)*tp++;
+ }
+
+ *xpp = (void *)xp;
+@@ -4100,7 +4100,7 @@ ncx_putn_schar_longlong(void **xpp, size
+ {
+ if(*tp > X_SCHAR_MAX || *tp < X_SCHAR_MIN)
+ status = NC_ERANGE;
+- *xp++ = (schar) *tp++;
++ *xp++ = (schar) (signed)*tp++;
+ }
+
+ *xpp = (void *)xp;
+@@ -4117,7 +4117,7 @@ ncx_putn_schar_ushort(void **xpp, size_t
+ {
+ if(*tp > X_SCHAR_MAX )
+ status = NC_ERANGE;
+- *xp++ = (schar) *tp++;
++ *xp++ = (schar) (signed)*tp++;
+ }
+
+ *xpp = (void *)xp;
+@@ -4134,7 +4134,7 @@ ncx_putn_schar_uint(void **xpp, size_t n
+ {
+ if(*tp > X_SCHAR_MAX )
+ status = NC_ERANGE;
+- *xp++ = (schar) *tp++;
++ *xp++ = (schar) (signed)*tp++;
+ }
+
+ *xpp = (void *)xp;
+@@ -4151,7 +4151,7 @@ ncx_putn_schar_ulonglong(void **xpp, siz
+ {
+ if(*tp > X_SCHAR_MAX )
+ status = NC_ERANGE;
+- *xp++ = (schar) *tp++;
++ *xp++ = (schar) (signed)*tp++;
+ }
+
+ *xpp = (void *)xp;
+@@ -4213,7 +4213,7 @@ ncx_pad_putn_schar_short(void **xpp, siz
+ {
+ if(*tp > X_SCHAR_MAX || *tp < X_SCHAR_MIN)
+ status = NC_ERANGE;
+- *xp++ = (schar) *tp++;
++ *xp++ = (schar) (signed) *tp++;
+ }
+
+
+@@ -4241,7 +4241,7 @@ ncx_pad_putn_schar_int(void **xpp, size_
+ {
+ if(*tp > X_SCHAR_MAX || *tp < X_SCHAR_MIN)
+ status = NC_ERANGE;
+- *xp++ = (schar) *tp++;
++ *xp++ = (schar) (signed) *tp++;
+ }
+
+
+@@ -4269,7 +4269,7 @@ ncx_pad_putn_schar_float(void **xpp, siz
+ {
+ if(*tp > X_SCHAR_MAX || *tp < X_SCHAR_MIN)
+ status = NC_ERANGE;
+- *xp++ = (schar) *tp++;
++ *xp++ = (schar) (signed) *tp++;
+ }
+
+
+@@ -4297,7 +4297,7 @@ ncx_pad_putn_schar_double(void **xpp, si
+ {
+ if(*tp > X_SCHAR_MAX || *tp < X_SCHAR_MIN)
+ status = NC_ERANGE;
+- *xp++ = (schar) *tp++;
++ *xp++ = (schar) (signed) *tp++;
+ }
+
+
+@@ -4325,7 +4325,7 @@ ncx_pad_putn_schar_longlong(void **xpp,
+ {
+ if(*tp > X_SCHAR_MAX || *tp < X_SCHAR_MIN)
+ status = NC_ERANGE;
+- *xp++ = (schar) *tp++;
++ *xp++ = (schar) (signed) *tp++;
+ }
+
+
+@@ -4353,7 +4353,7 @@ ncx_pad_putn_schar_ushort(void **xpp, si
+ {
+ if(*tp > X_SCHAR_MAX )
+ status = NC_ERANGE;
+- *xp++ = (schar) *tp++;
++ *xp++ = (schar) (signed) *tp++;
+ }
+
+
+@@ -4381,7 +4381,7 @@ ncx_pad_putn_schar_uint(void **xpp, size
+ {
+ if(*tp > X_SCHAR_MAX )
+ status = NC_ERANGE;
+- *xp++ = (schar) *tp++;
++ *xp++ = (schar) (signed) *tp++;
+ }
+
+
+@@ -4409,7 +4409,7 @@ ncx_pad_putn_schar_ulonglong(void **xpp,
+ {
+ if(*tp > X_SCHAR_MAX )
+ status = NC_ERANGE;
+- *xp++ = (schar) *tp++;
++ *xp++ = (schar) (signed) *tp++;
+ }
+
+
+@@ -4430,7 +4430,7 @@ int
+ ncx_getn_uchar_schar(const void **xpp, size_t nelems, schar *tp)
+ {
+ (void) memcpy(tp, *xpp, nelems);
+- *xpp = (void *)((char *)(*xpp) + nelems);
++ *xpp = (void *)((schar *)(*xpp) + nelems);
+ return ENOERR;
+
+ }
+@@ -4438,7 +4438,7 @@ int
+ ncx_getn_uchar_uchar(const void **xpp, size_t nelems, uchar *tp)
+ {
+ (void) memcpy(tp, *xpp, nelems);
+- *xpp = (void *)((char *)(*xpp) + nelems);
++ *xpp = (void *)((schar *)(*xpp) + nelems);
+ return ENOERR;
+
+ }
+@@ -4788,7 +4788,7 @@ ncx_putn_uchar_short(void **xpp, size_t
+ {
+ if(*tp > X_UCHAR_MAX || *tp < 0)
+ status = NC_ERANGE;
+- *xp++ = (uchar) *tp++;
++ *xp++ = (uchar) (signed)*tp++;
+ }
+
+ *xpp = (void *)xp;
+@@ -4805,7 +4805,7 @@ ncx_putn_uchar_int(void **xpp, size_t ne
+ {
+ if(*tp > X_UCHAR_MAX || *tp < 0)
+ status = NC_ERANGE;
+- *xp++ = (uchar) *tp++;
++ *xp++ = (uchar) (signed)*tp++;
+ }
+
+ *xpp = (void *)xp;
+@@ -4822,7 +4822,7 @@ ncx_putn_uchar_float(void **xpp, size_t
+ {
+ if(*tp > X_UCHAR_MAX || *tp < 0)
+ status = NC_ERANGE;
+- *xp++ = (uchar) *tp++;
++ *xp++ = (uchar) (signed)*tp++;
+ }
+
+ *xpp = (void *)xp;
+@@ -4839,7 +4839,7 @@ ncx_putn_uchar_double(void **xpp, size_t
+ {
+ if(*tp > X_UCHAR_MAX || *tp < 0)
+ status = NC_ERANGE;
+- *xp++ = (uchar) *tp++;
++ *xp++ = (uchar) (signed)*tp++;
+ }
+
+ *xpp = (void *)xp;
+@@ -4856,7 +4856,7 @@ ncx_putn_uchar_longlong(void **xpp, size
+ {
+ if(*tp > X_UCHAR_MAX || *tp < 0)
+ status = NC_ERANGE;
+- *xp++ = (uchar) *tp++;
++ *xp++ = (uchar) (signed)*tp++;
+ }
+
+ *xpp = (void *)xp;
+@@ -4873,7 +4873,7 @@ ncx_putn_uchar_ushort(void **xpp, size_t
+ {
+ if(*tp > X_UCHAR_MAX )
+ status = NC_ERANGE;
+- *xp++ = (uchar) *tp++;
++ *xp++ = (uchar) (signed)*tp++;
+ }
+
+ *xpp = (void *)xp;
+@@ -4890,7 +4890,7 @@ ncx_putn_uchar_uint(void **xpp, size_t n
+ {
+ if(*tp > X_UCHAR_MAX )
+ status = NC_ERANGE;
+- *xp++ = (uchar) *tp++;
++ *xp++ = (uchar) (signed)*tp++;
+ }
+
+ *xpp = (void *)xp;
+@@ -4907,7 +4907,7 @@ ncx_putn_uchar_ulonglong(void **xpp, siz
+ {
+ if(*tp > X_UCHAR_MAX )
+ status = NC_ERANGE;
+- *xp++ = (uchar) *tp++;
++ *xp++ = (uchar) (signed)*tp++;
+ }
+
+ *xpp = (void *)xp;
+@@ -4969,7 +4969,7 @@ ncx_pad_putn_uchar_short(void **xpp, siz
+ {
+ if(*tp > X_UCHAR_MAX || *tp < 0)
+ status = NC_ERANGE;
+- *xp++ = (uchar) *tp++;
++ *xp++ = (uchar) (signed) *tp++;
+ }
+
+
+@@ -4997,7 +4997,7 @@ ncx_pad_putn_uchar_int(void **xpp, size_
+ {
+ if(*tp > X_UCHAR_MAX || *tp < 0)
+ status = NC_ERANGE;
+- *xp++ = (uchar) *tp++;
++ *xp++ = (uchar) (signed) *tp++;
+ }
+
+
+@@ -5025,7 +5025,7 @@ ncx_pad_putn_uchar_float(void **xpp, siz
+ {
+ if(*tp > X_UCHAR_MAX || *tp < 0)
+ status = NC_ERANGE;
+- *xp++ = (uchar) *tp++;
++ *xp++ = (uchar) (signed) *tp++;
+ }
+
+
+@@ -5053,7 +5053,7 @@ ncx_pad_putn_uchar_double(void **xpp, si
+ {
+ if(*tp > X_UCHAR_MAX || *tp < 0)
+ status = NC_ERANGE;
+- *xp++ = (uchar) *tp++;
++ *xp++ = (uchar) (signed) *tp++;
+ }
+
+
+@@ -5081,7 +5081,7 @@ ncx_pad_putn_uchar_longlong(void **xpp,
+ {
+ if(*tp > X_UCHAR_MAX || *tp < 0)
+ status = NC_ERANGE;
+- *xp++ = (uchar) *tp++;
++ *xp++ = (uchar) (signed) *tp++;
+ }
+
+
+@@ -5109,7 +5109,7 @@ ncx_pad_putn_uchar_ushort(void **xpp, si
+ {
+ if(*tp > X_UCHAR_MAX )
+ status = NC_ERANGE;
+- *xp++ = (uchar) *tp++;
++ *xp++ = (uchar) (signed) *tp++;
+ }
+
+
+@@ -5137,7 +5137,7 @@ ncx_pad_putn_uchar_uint(void **xpp, size
+ {
+ if(*tp > X_UCHAR_MAX )
+ status = NC_ERANGE;
+- *xp++ = (uchar) *tp++;
++ *xp++ = (uchar) (signed) *tp++;
+ }
+
+
+@@ -5165,7 +5165,7 @@ ncx_pad_putn_uchar_ulonglong(void **xpp,
+ {
+ if(*tp > X_UCHAR_MAX )
+ status = NC_ERANGE;
+- *xp++ = (uchar) *tp++;
++ *xp++ = (uchar) (signed) *tp++;
+ }
+
+
+@@ -17229,18 +17229,27 @@ ncx_putn_ulonglong_uint(void **xpp, size
+ */
+
+ /* text */
+-
++#ifdef __arm__
++int
++ncx_getn_text(const void **xpp, size_t nelems, signed char *tp)
++#else
+ int
+ ncx_getn_text(const void **xpp, size_t nelems, char *tp)
++#endif
+ {
+ (void) memcpy(tp, *xpp, nelems);
+- *xpp = (void *)((char *)(*xpp) + nelems);
++ *xpp = (void *)((schar *)(*xpp) + nelems);
+ return ENOERR;
+
+ }
+
++#ifdef __arm__
++int
++ncx_pad_getn_text(const void **xpp, size_t nelems, signed char *tp)
++#else
+ int
+ ncx_pad_getn_text(const void **xpp, size_t nelems, char *tp)
++#endif
+ {
+ size_t rndup = nelems % X_ALIGN;
+
+@@ -17254,8 +17263,12 @@ ncx_pad_getn_text(const void **xpp, size
+
+ }
+
++#ifdef __arm__
++int ncx_putn_text(void **xpp, size_t nelems, const signed char *tp)
++#else
+ int
+ ncx_putn_text(void **xpp, size_t nelems, const char *tp)
++#endif
+ {
+ (void) memcpy(*xpp, tp, nelems);
+ *xpp = (void *)((char *)(*xpp) + nelems);
+@@ -17264,8 +17277,13 @@ ncx_putn_text(void **xpp, size_t nelems,
+
+ }
+
++#ifdef __arm__
++int
++ncx_pad_putn_text(void **xpp, size_t nelems, const signed char *tp)
++#else
+ int
+ ncx_pad_putn_text(void **xpp, size_t nelems, const char *tp)
++#endif
+ {
+ size_t rndup = nelems % X_ALIGN;
+
+@@ -17292,7 +17310,7 @@ int
+ ncx_getn_void(const void **xpp, size_t nelems, void *tp)
+ {
+ (void) memcpy(tp, *xpp, nelems);
+- *xpp = (void *)((char *)(*xpp) + nelems);
++ *xpp = (void *)((schar *)(*xpp) + nelems);
+ return ENOERR;
+
+ }
+--- a/libsrc/putget.c
++++ b/libsrc/putget.c
+@@ -9664,8 +9664,12 @@ readNCv(const NC3_INFO* ncp, const NC_va
+
+ case CASE(NC_CHAR,NC_CHAR):
+ case CASE(NC_CHAR,NC_UBYTE):
+- return getNCvx_char_char(ncp,varp,start,nelems,(char*)value);
+- break;
++#ifndef __CHAR_UNSIGNED__
++ return getNCvx_char_char(ncp,varp,start,nelems,(char*)value);
++#else
++ return getNCvx_schar_schar(ncp,varp,start,nelems,(signed char*)value);
++#endif
++ break;
+ case CASE(NC_BYTE,NC_BYTE):
+ return getNCvx_schar_schar(ncp,varp,start,nelems,(signed char*)value);
+ break;
+@@ -9707,13 +9711,13 @@ readNCv(const NC3_INFO* ncp, const NC_va
+ break;
+ case CASE(NC_SHORT,NC_INT):
+ return getNCvx_short_int(ncp,varp,start,nelems,(int*)value);
+- break;
++ break;
+ case CASE(NC_SHORT,NC_FLOAT):
+ return getNCvx_short_float(ncp,varp,start,nelems,(float*)value);
+ break;
+ case CASE(NC_SHORT,NC_DOUBLE):
+ return getNCvx_short_double(ncp,varp,start,nelems,(double*)value);
+- break;
++ break;
+ case CASE(NC_SHORT,NC_INT64):
+ return getNCvx_short_longlong(ncp,varp,start,nelems,(long long*)value);
+ break;
+@@ -10317,7 +10321,7 @@ NC3_get_vara(int ncid, int varid,
+ int ii;
+ size_t iocount;
+ size_t memtypelen;
+- char* value = (char*) value0; /* legally allow ptr arithmetic */
++ signed char* value = (signed char*) value0; /* legally allow ptr arithmetic */
+ const size_t* edges = edges0; /* so we can modify for special cases */
+ size_t modedges[NC_MAX_VAR_DIMS];
+
+@@ -10444,7 +10448,7 @@ NC3_put_vara(int ncid, int varid,
+ int ii;
+ size_t iocount;
+ size_t memtypelen;
+- char* value = (char*) value0; /* legally allow ptr arithmetic */
++ signed char* value = (signed char*) value0; /* legally allow ptr arithmetic */
+ const size_t* edges = edges0; /* so we can modify for special cases */
+ size_t modedges[NC_MAX_VAR_DIMS];
+
diff --git a/debian/patches/series b/debian/patches/series
index 42f84d2..3da4b85 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,4 @@ link-private.patch
privacy-breach-logo.patch
hdf5-library-path.patch
attributes-typo.patch
+m4-generated-sources.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/netcdf.git
More information about the Pkg-grass-devel
mailing list