* installing *source* package ‘Rduckhts’ ... ** this is package ‘Rduckhts’ version ‘1.5.0-0.1.0’ ** package ‘Rduckhts’ successfully unpacked and MD5 sums checked ** using staged installation ---------- Checking for required headers and libraries ---------- Checking for zlib (zlib.h, -lz)... zlib: found Checking for bz2 (bzlib.h, -lbz2)... bz2: found Checking for lzma (lzma.h, -llzma)... lzma: found Checking for curl (curl/curl.h, -lcurl)... curl: found Checking for openssl (openssl/ssl.h, -L/opt/R/arm64/lib -lssl -lcrypto)... openssl: found ---------- Configuring htslib ---------- checking for gcc... clang checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether clang accepts -g... yes checking for clang option to enable C23 features... unsupported checking for clang option to enable C11 features... none needed checking for ranlib... ranlib checking for grep that handles long lines and -e... /usr/bin/grep checking for C compiler warning flags... rm: conftest.dSYM: is a directory -Wall checking for clang options to detect undeclared functions... none needed checking for clang options to ignore future-version functions... -Werror=unguarded-availability-new checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for sys/param.h... yes checking whether _XOPEN_SOURCE is declared... no checking whether __get_cpuid_max is declared... no checking whether __cpuid_count is declared... no checking for x86intrin.h... no checking for pkg-config... /opt/R/arm64/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for clang option to support large files... none needed checking shared library type for unknown-Darwin... Darwin dylib checking whether the compiler accepts -fvisibility=hidden... yes checking build system type... aarch64-apple-darwin25.5.0 checking host system type... aarch64-apple-darwin25.5.0 checking for getpagesize... yes checking for working mmap... yes checking for gmtime_r... yes checking for fsync... yes checking for drand48... yes checking for srand48_deterministic... no checking for getauxval... no checking for elf_aux_info... no checking for posix_memalign... yes checking whether fdatasync is declared... no checking for __attribute__((constructor))... yes checking for clock_gettime with CLOCK_PROCESS_CPUTIME_ID... yes checking for library containing dlsym... none required checking whether the compiler accepts -rdynamic... yes checking for library containing log... none required checking for zlib.h... yes checking for inflate in -lz... (cached) yes checking for library containing recv... none required checking for bzlib.h... (cached) yes checking for BZ2_bzBuffToBuffCompress in -lbz2... (cached) yes checking for lzma.h... yes checking for lzma_easy_buffer_encode in -llzma... yes checking whether htscodecs files are present... yes checking for libdeflate.h... yes checking for libdeflate_deflate_compress in -ldeflate... yes checking for curl/curl.h... yes checking for curl_easy_pause in -lcurl... yes checking for CCHmac... yes checking for fstatat... yes checking for CMSG_LEN... yes checking for epoll... no checking for sendfile... yes, macOS-style checking whether EHOSTDOWN is declared... no checking whether ENONET is declared... no checking whether AI_V4MAPPED is declared... yes checking whether AI_ADDRCONFIG is declared... yes checking whether the compiler accepts -Wextra... yes checking whether the compiler accepts -Wformat... yes checking whether the compiler accepts -Wformat=2... yes checking whether the compiler accepts -Wconversion... yes checking whether the compiler accepts -Wtrampolines... no checking whether the compiler accepts -Wstrict-aliasing... yes checking whether the compiler accepts -fstack-clash-protection... no checking whether the compiler accepts -fstack-protector-strong... yes checking whether the compiler accepts -fcf-protection=full... no checking whether the compiler accepts -mbranch-protection=standard... yes checking whether the compiler accepts -fno-delete-null-pointer-checks... yes checking whether the compiler accepts -Wl,-z,noexecstack... no checking whether the compiler accepts -Wl,-z,relro... no checking whether the compiler accepts -Wl,-z,now... no checking whether the compiler accepts -Wl,--as-needed... no checking whether the compiler accepts -Wl,--no-copy-dt-needed-entries... no checking whether the compiler accepts -Wl,-z,nodlopen... no checking for library containing regcomp... none required configure: creating ./config.status config.status: creating config.mk config.status: creating htslib.pc.tmp config.status: creating config.h config.status: linking htscodecs_bundled.mk to htscodecs.mk ---------- Building htslib ---------- make[1]: warning: -jN forced in submake: disabling jobserver mode. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o kfunc.o kfunc.c clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o kstring.o kstring.c In file included from kstring.c:36: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ kstring.c:71:27: warning: implicit conversion turns floating-point number into integer: 'double' to 'uint32_t' (aka 'unsigned int') [-Wfloat-conversion] 71 | if (d<0.001) i = rint(d*1000000000), cp -= 1; | ~ ^~~~~~~~~~~~~~~~~~ kstring.c:72:27: warning: implicit conversion turns floating-point number into integer: 'double' to 'uint32_t' (aka 'unsigned int') [-Wfloat-conversion] 72 | else if (d < 0.01) i = rint(d*100000000), cp -= 2; | ~ ^~~~~~~~~~~~~~~~~ kstring.c:73:27: warning: implicit conversion turns floating-point number into integer: 'double' to 'uint32_t' (aka 'unsigned int') [-Wfloat-conversion] 73 | else if (d < 0.1) i = rint(d*10000000), cp -= 3; | ~ ^~~~~~~~~~~~~~~~ kstring.c:74:27: warning: implicit conversion turns floating-point number into integer: 'double' to 'uint32_t' (aka 'unsigned int') [-Wfloat-conversion] 74 | else if (d < 1) i = rint(d*1000000), cp -= 4; | ~ ^~~~~~~~~~~~~~~ kstring.c:75:27: warning: implicit conversion turns floating-point number into integer: 'double' to 'uint32_t' (aka 'unsigned int') [-Wfloat-conversion] 75 | else if (d < 10) i = rint(d*100000), cp -= 5; | ~ ^~~~~~~~~~~~~~ kstring.c:76:27: warning: implicit conversion turns floating-point number into integer: 'double' to 'uint32_t' (aka 'unsigned int') [-Wfloat-conversion] 76 | else if (d < 100) i = rint(d*10000), cp -= 6; | ~ ^~~~~~~~~~~~~ kstring.c:77:27: warning: implicit conversion turns floating-point number into integer: 'double' to 'uint32_t' (aka 'unsigned int') [-Wfloat-conversion] 77 | else if (d < 1000) i = rint(d*1000), cp -= 7; | ~ ^~~~~~~~~~~~ kstring.c:78:27: warning: implicit conversion turns floating-point number into integer: 'double' to 'uint32_t' (aka 'unsigned int') [-Wfloat-conversion] 78 | else if (d < 10000) i = rint(d*100), cp -= 8; | ~ ^~~~~~~~~~~ kstring.c:79:27: warning: implicit conversion turns floating-point number into integer: 'double' to 'uint32_t' (aka 'unsigned int') [-Wfloat-conversion] 79 | else if (d < 100000) i = rint(d*10), cp -= 9; | ~ ^~~~~~~~~~ kstring.c:80:27: warning: implicit conversion turns floating-point number into integer: 'double' to 'uint32_t' (aka 'unsigned int') [-Wfloat-conversion] 80 | else i = rint(d), cp -= 10; | ~ ^~~~~~~ kstring.c:101:15: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 101 | *--cp = '0' + (i/100); | ~ ~~~~^~~~~~~~~ kstring.c:104:16: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 104 | int p = buf+20-cp; | ~ ~~~~~~^~~ kstring.c:137:13: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 137 | int sl = ep-cp; | ~~ ~~^~~ kstring.c:229:6: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 229 | l = strlen(s); | ~ ^~~~~~~~~ kstring.c:280:34: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 280 | if (fgets_fn(s->s + s->l, s->m - s->l, fp) == NULL) break; | ~~~~~~~~ ~~~~~^~~~~~ kstring.c:506:52: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 506 | return (char*)boyer_moore(str, strlen(str), pat, patlen, prep); | ~~~~~~~~~~~ ^~~~~~ kstring.c:519:12: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 519 | n = endp - str; | ~ ~~~~~^~~~~ kstring.c:523:41: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 523 | return (char*)boyer_moore(str, n, pat, patlen, prep); | ~~~~~~~~~~~ ^~~~~~ 26 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o bcf_sr_sort.o bcf_sr_sort.c In file included from bcf_sr_sort.c:31: In file included from ./bcf_sr_sort.h:37: In file included from ./htslib/synced_bcf_reader.h:59: In file included from ./htslib/hts.h:37: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from bcf_sr_sort.c:31: In file included from ./bcf_sr_sort.h:37: In file included from ./htslib/synced_bcf_reader.h:59: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from bcf_sr_sort.c:31: In file included from ./bcf_sr_sort.h:37: In file included from ./htslib/synced_bcf_reader.h:60: In file included from ./htslib/vcf.h:42: ./htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from bcf_sr_sort.c:31: In file included from ./bcf_sr_sort.h:37: In file included from ./htslib/synced_bcf_reader.h:60: ./htslib/vcf.h:1579:26: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1579 | *p++ = (size<<4) | type; | ~ ~~~~~~~~~~^~~~~~ ./htslib/vcf.h:1587:17: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1587 | *p++ = 15<<4|type; | ~ ~~~~~^~~~~ ./htslib/vcf.h:1591:16: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1591 | *p++ = size; | ~ ^~~~ ./htslib/vcf.h:1596:23: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1596 | i16_to_le(size, p); | ~~~~~~~~~ ^~~~ ./htslib/vcf.h:1632:16: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1632 | p[1] = x; | ~ ^ ./htslib/vcf.h:1636:19: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1636 | i16_to_le(x, p+1); | ~~~~~~~~~ ^ ./htslib/vcf.h:1708:19: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1708 | } else return bcf_dec_typed_int1(p + 1, q); | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ bcf_sr_sort.c:48:21: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 48 | int i, n = bs1->n; | ~ ~~~~~^ bcf_sr_sort.c:103:25: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 103 | srt->score[i] = max; | ~ ^~~ bcf_sr_sort.c:399:46: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 399 | srt->off[srt->noff++] = srt->str.l; | ~ ~~~~~~~~~^ bcf_sr_sort.c:448:54: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 448 | int ret, var_idx = 0, var_end = srt->str.l; | ~~~~~~~ ~~~~~~~~~^ 23 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o bgzf.o bgzf.c In file included from bgzf.c:44: In file included from ./htslib/hts.h:37: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from bgzf.c:44: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from bgzf.c:46: ./htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ In file included from bgzf.c:49: ./htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from bgzf.c:51: In file included from ./hts_internal.h:31: ./textutils_internal.h:179:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 179 | static inline char tolower_c(char c) { return tolower((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:180:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | static inline char toupper_c(char c) { return toupper((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:416:9: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 416 | d = n / D[v - start - point]; | ^ ~ ./textutils_internal.h:399:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 399 | point = v - start; | ~ ~~^~~~~~~ ./textutils_internal.h:405:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | point = v - start; | ~ ~~^~~~~~~ bgzf.c:299:17: warning: implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 299 | buffer[0] = value; | ~ ^~~~~ bgzf.c:310:17: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 310 | buffer[0] = value; | ~ ^~~~~ bgzf.c:311:23: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 311 | buffer[1] = value >> 8; | ~ ~~~~~~^~~~ bgzf.c:312:23: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 312 | buffer[2] = value >> 16; | ~ ~~~~~~^~~~~ bgzf.c:578:19: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 578 | u16_to_le(slen, &dst[BLOCK_HEADER_LENGTH+1]); // length | ~~~~~~~~~ ^~~~ bgzf.c:579:19: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 579 | u16_to_le(~slen, &dst[BLOCK_HEADER_LENGTH+3]); // ones-complement length | ~~~~~~~~~ ^~~~~ bgzf.c:610:31: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 610 | packInt16(&dst[16], *dlen - 1); // write the compressed length; -1 to fit 2 bytes | ~~~~~~~~~ ~~~~~~^~~ bgzf.c:615:42: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 615 | packInt32((uint8_t*)&dst[*dlen - 4], slen); | ~~~~~~~~~ ^~~~ bgzf.c:693:21: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uInt' (aka 'unsigned int') [-Wshorten-64-to-32] 693 | zs->avail_in = slen; | ~ ^~~~ bgzf.c:695:21: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uInt' (aka 'unsigned int') [-Wshorten-64-to-32] 695 | zs->avail_out = *dlen; | ~ ^~~~~ bgzf.c:726:12: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 726 | return comp_size; | ~~~~~~ ^~~~~~~~~ bgzf.c:824:12: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 824 | return dlen; | ~~~~~~ ^~~~ bgzf.c:845:23: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 845 | int ret = hread(fp->fp, fp->compressed_block, BGZF_BLOCK_SIZE); | ~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bgzf.c:1067:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1067 | fp->block_clength = j->comp_len; | ~ ~~~^~~~~~~~ bgzf.c:1068:31: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1068 | fp->block_length = j->uncomp_len; | ~ ~~~^~~~~~~~~~ bgzf.c:1108:17: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 1108 | count = hread(fp->fp, fp->uncompressed_block, BGZF_MAX_BLOCK_SIZE); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bgzf.c:1148:17: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 1148 | count = hread(fp->fp, header, sizeof(header)); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bgzf.c:1171:92: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 1171 | count = hread(fp->fp, cblock+sizeof(header), BGZF_BLOCK_SIZE - sizeof(header)) + sizeof(header); | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ bgzf.c:1210:17: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 1210 | count = hread(fp->fp, &compressed_block[BLOCK_HEADER_LENGTH], remaining); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bgzf.c:1275:63: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1275 | copy_length = length - bytes_read < available? length - bytes_read : available; | ~ ~~~~~~~^~~~~~~~~~~~ bgzf.c:1356:26: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 1356 | u16_to_le(j->comp_len-1, j->comp_data + 16); | ~~~~~~~~~ ~~~~~~~~~~~^~ bgzf.c:1360:18: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 1360 | u16_to_le(j->uncomp_len, j->comp_data + BLOCK_HEADER_LENGTH + 1); | ~~~~~~~~~ ~~~^~~~~~~~~~ bgzf.c:1361:15: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 1361 | u16_to_le(~j->uncomp_len, j->comp_data + BLOCK_HEADER_LENGTH + 3); | ~~~~~~~~~ ^~~~~~~~~~~~~~ bgzf.c:1366:18: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 1366 | u32_to_le(j->uncomp_len, j->comp_data + j->comp_len - 4); | ~~~~~~~~~ ~~~^~~~~~~~~~ bgzf.c:1503:13: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 1503 | count = hpeek(fp->fp, header, sizeof(header)); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bgzf.c:1517:13: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 1517 | count = hread(fp->fp, header, sizeof(header)); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bgzf.c:1529:13: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 1529 | count = hread(fp->fp, &compressed_block[BLOCK_HEADER_LENGTH], remaining); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bgzf.c:2019:52: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 2019 | if (copy_length > remaining) copy_length = remaining; | ~ ^~~~~~~~~ bgzf.c:2049:39: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 2049 | int copy_length = ublock_size - fp->block_offset; | ~~~~~~~~~~~ ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ bgzf.c:2050:52: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 2050 | if (copy_length > remaining) copy_length = remaining; | ~ ^~~~~~~~~ bgzf.c:2266:12: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 2266 | return bgzf_seek(fd, offset, whence); | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bgzf.c:2286:9: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 2286 | n = hread(fp, buf, 16); | ~ ^~~~~~~~~~~~~~~~~~ bgzf.c:2334:36: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 2334 | l = e ? (unsigned char *)e - buf : fp->block_length; | ~ ~~~~~~~~~~~~~~~~~~~^~~~~ bgzf.c:2503:41: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 2503 | fp->idx->noffs = fp->idx->moffs = x + 1; | ~ ~~^~~ bgzf.c:2606:26: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2606 | int i = (ilo+ihi)*0.5; | ~ ~~~~~~~~~^~~~ bgzf.c:2627:28: warning: implicit conversion loses integer precision: 'off_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 2627 | fp->block_offset = offset; | ~ ^~~~~~ 54 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o errmod.o errmod.c In file included from errmod.c:30: In file included from ./htslib/hts.h:37: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from errmod.c:30: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ errmod.c:34:1: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 34 | KSORT_INIT_STATIC_GENERIC(uint16_t) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/ksort.h:314:43: note: expanded from macro 'KSORT_INIT_STATIC_GENERIC' 314 | #define KSORT_INIT_STATIC_GENERIC(type_t) KSORT_INIT_(_ ## type_t, static klib_unused, type_t, ks_lt_generic) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/ksort.h:191:20: note: expanded from macro 'KSORT_INIT_' 191 | gap = (size_t)(gap / shrink_factor); \ | ^~~ ~ errmod.c:34:1: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 34 | KSORT_INIT_STATIC_GENERIC(uint16_t) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/ksort.h:314:43: note: expanded from macro 'KSORT_INIT_STATIC_GENERIC' 314 | #define KSORT_INIT_STATIC_GENERIC(type_t) KSORT_INIT_(_ ## type_t, static klib_unused, type_t, ks_lt_generic) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/ksort.h:290:12: note: expanded from macro 'KSORT_INIT_' 290 | for (i = n; i > 1; --i) { \ | ~ ^ errmod.c:187:21: warning: implicit conversion when assigning computation result loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 187 | tmp1 += aux.bsum[k]; tmp2 += aux.c[k]; tmp3 += aux.fsum[k]; | ~~ ^~~~~~~~~~~ errmod.c:187:60: warning: implicit conversion when assigning computation result loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 187 | tmp1 += aux.bsum[k]; tmp2 += aux.c[k]; tmp3 += aux.fsum[k]; | ~~ ^~~~~~~~~~~ errmod.c:197:25: warning: implicit conversion when assigning computation result loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 197 | tmp1 += aux.bsum[i]; tmp2 += aux.c[i]; tmp3 += aux.fsum[i]; | ~~ ^~~~~~~~~~~ errmod.c:197:64: warning: implicit conversion when assigning computation result loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 197 | tmp1 += aux.bsum[i]; tmp2 += aux.c[i]; tmp3 += aux.fsum[i]; | ~~ ^~~~~~~~~~~ errmod.c:200:74: warning: implicit conversion loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 200 | q[j*m+k] = q[k*m+j] = -4.343 * em->lhet[cjk<<8|aux.c[k]] + tmp1; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ errmod.c:201:49: warning: implicit conversion loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 201 | } else q[j*m+k] = q[k*m+j] = -4.343 * em->lhet[cjk<<8|aux.c[k]]; // all the bases are either j or k | ~ ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ 17 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o faidx.o faidx.c In file included from faidx.c:40: In file included from ./htslib/faidx.h:34: In file included from ./htslib/hts.h:37: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from faidx.c:40: In file included from ./htslib/faidx.h:34: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from faidx.c:41: ./htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ In file included from faidx.c:45: In file included from ./hts_internal.h:31: ./textutils_internal.h:179:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 179 | static inline char tolower_c(char c) { return tolower((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:180:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | static inline char toupper_c(char c) { return toupper((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:416:9: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 416 | d = n / D[v - start - point]; | ^ ~ ./textutils_internal.h:399:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 399 | point = v - start; | ~ ~~^~~~~~~ ./textutils_internal.h:405:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | point = v - start; | ~ ~~^~~~~~~ faidx.c:206:44: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 206 | char s[4] = { '"', c, '"', '\0' }; | ~ ^ faidx.c:275:33: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 275 | if (isgraph(c)) cl++; | ~~~~~~~ ^ faidx.c:329:33: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 329 | if (isgraph(c)) cl++; | ~~~~~~~ ^ faidx.c:888:30: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 888 | *len = len64 < INT_MAX ? len64 : INT_MAX; // trunc | ~ ^~~~~ faidx.c:907:30: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 907 | *len = len64 < INT_MAX ? len64 : INT_MAX; // trunc | ~ ^~~~~ faidx.c:936:28: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 936 | return len < INT_MAX ? len : INT_MAX; | ~~~~~~ ^~~ faidx.c:1014:30: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1014 | *len = len64 < INT_MAX ? len64 : INT_MAX; // trunc | ~ ^~~~~ faidx.c:1035:30: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1035 | *len = len64 < INT_MAX ? len64 : INT_MAX; // trunc | ~ ^~~~~ 23 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o header.o header.c In file included from header.c:37: In file included from ./textutils_internal.h:32: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from header.c:37: ./textutils_internal.h:179:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 179 | static inline char tolower_c(char c) { return tolower((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:180:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | static inline char toupper_c(char c) { return toupper((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:416:9: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 416 | d = n / D[v - start - point]; | ^ ~ ./textutils_internal.h:399:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 399 | point = v - start; | ~ ~~^~~~~~~ ./textutils_internal.h:405:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | point = v - start; | ~ ~~^~~~~~~ In file included from header.c:38: In file included from ./header.h:50: In file included from ./htslib/sam.h:33: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from header.c:38: In file included from ./header.h:50: In file included from ./htslib/sam.h:34: ./htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from header.c:40: ./htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ header.c:256:29: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 256 | hrecs->ref_sz = new_sz; | ~ ^~~~~~ header.c:308:28: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 308 | hrecs->rg_sz = new_sz; | ~ ^~~~~~ header.c:335:28: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 335 | hrecs->pg_sz = new_sz; | ~ ^~~~~~ header.c:614:28: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 614 | h_tag->len = 3 + strlen(val); | ~ ~~^~~~~~~~~~~~~ header.c:620:26: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 620 | h_tag->len = strlen(key); | ~ ^~~~~~~~~~~ header.c:649:28: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 649 | h_tag->len = 3 + strlen(val); | ~ ~~^~~~~~~~~~~~~ header.c:655:26: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 655 | h_tag->len = strlen(key); | ~ ^~~~~~~~~~~ header.c:747:27: warning: implicit conversion loses integer precision: 'khint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 747 | char c[2]= { ty->type >> 8, ty->type & 0xff }; | ~ ~~~~~~~~~^~~~ header.c:790:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 790 | int ilen = len < INT_MAX ? len : INT_MAX; | ~~~~ ^~~ header.c:818:20: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 818 | h_tag->len = j - 1; | ~ ~~^~~ header.c:869:23: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 869 | h_tag->len = j-i; | ~ ~^~ header.c:1112:47: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 1112 | bh->target_len[i] = hrecs->ref[i].len; | ~ ~~~~~~~~~~~~~~^~~ header.c:1417:43: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 1417 | next_c = pret > 0 ? nc : pret - 1; | ~ ~~~~~^~~ header.c:2587:37: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 2587 | hrecs->ID_buf_sz = name_len + name_extra; | ~ ~~~~~~~~~^~~~~~~~~~~~ header.c:2966:22: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 2966 | tag->len = 3 + strlen(v); | ~ ~~^~~~~~~~~~~ 33 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o hfile.o hfile.c In file included from hfile.c:44: ./htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ In file included from hfile.c:45: In file included from ./hfile_internal.h:33: In file included from ./textutils_internal.h:32: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from hfile.c:45: In file included from ./hfile_internal.h:33: ./textutils_internal.h:179:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 179 | static inline char tolower_c(char c) { return tolower((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:180:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | static inline char toupper_c(char c) { return toupper((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:416:9: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 416 | d = n / D[v - start - point]; | ^ ~ ./textutils_internal.h:399:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 399 | point = v - start; | ~ ~~^~~~~~~ ./textutils_internal.h:405:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | point = v - start; | ~ ~~^~~~~~~ hfile.c:404:22: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 404 | *(fp->begin++) = c; | ~ ^ hfile.c:451:19: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 451 | int ret = flush_buffer(fp); | ~~~ ^~~~~~~~~~~~~~~~ hfile.c:700:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'off_t' (aka 'long long') [-Wfloat-conversion] 700 | if (buf_inc < 1000000) buf_inc *= 1.3; | ~~~~~~~~^~~~~~ In file included from hfile.c:804: In file included from ./hts_internal.h:30: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ 18 warnings generated. echo '#define HTS_VERSION_TEXT "1.24"' > version.h printf '#define HTS_CC "%s"\n#define HTS_CPPFLAGS "%s"\n#define HTS_CFLAGS "%s"\n#define HTS_LDFLAGS "%s"\n#define HTS_LIBS "%s"\n' \ 'clang' \ '-isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include' \ '-falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden' \ '-L/opt/R/arm64/lib -L/opt/homebrew/opt/openssl@3/lib -L/opt/homebrew/lib -fvisibility=hidden -rdynamic' \ '-ldeflate -llzma -lbz2 -lz -lz -lbz2 -llzma -lcurl -L/opt/R/arm64/lib -lssl -lcrypto -lpthread' > config_vars.h clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o hts.o hts.c In file included from hts.c:52: In file included from ./htslib/hts.h:37: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from hts.c:52: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from hts.c:54: In file included from ./cram/cram.h:45: In file included from ./cram/cram_samtools.h:59: In file included from ./cram/../htslib/sam.h:34: ./cram/../htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./cram/../htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./cram/../htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from hts.c:54: In file included from ./cram/cram.h:48: ./cram/cram_io.h:301:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 301 | if ((j = i / 1000000000)) {*cp++ = j + '0'; i -= j*1000000000; goto x8;} | ~ ~~^~~~~ ./cram/cram_io.h:302:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 302 | if ((j = i / 100000000)) {*cp++ = j + '0'; i -= j*100000000; goto x7;} | ~ ~~^~~~~ ./cram/cram_io.h:303:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 303 | b7:if ((j = i / 10000000)) {*cp++ = j + '0'; i -= j*10000000; goto x6;} | ~ ~~^~~~~ ./cram/cram_io.h:304:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 304 | if ((j = i / 1000000)) {*cp++ = j + '0', i -= j*1000000; goto x5;} | ~ ~~^~~~~ ./cram/cram_io.h:305:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 305 | b5:if ((j = i / 100000)) {*cp++ = j + '0', i -= j*100000; goto x4;} | ~ ~~^~~~~ ./cram/cram_io.h:306:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 306 | if ((j = i / 10000)) {*cp++ = j + '0', i -= j*10000; goto x3;} | ~ ~~^~~~~ ./cram/cram_io.h:307:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 307 | b3:if ((j = i / 1000)) {*cp++ = j + '0', i -= j*1000; goto x2;} | ~ ~~^~~~~ ./cram/cram_io.h:308:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 308 | if ((j = i / 100)) {*cp++ = j + '0', i -= j*100; goto x1;} | ~ ~~^~~~~ ./cram/cram_io.h:309:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 309 | b1:if ((j = i / 10)) {*cp++ = j + '0', i -= j*10; goto x0;} | ~ ~~^~~~~ ./cram/cram_io.h:310:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 310 | if (i) *cp++ = i + '0'; | ~ ~~^~~~~ ./cram/cram_io.h:314:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 314 | x7: *cp++ = i / 10000000 + '0', i %= 10000000; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:315:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 315 | x6: *cp++ = i / 1000000 + '0', i %= 1000000; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:316:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 316 | x5: *cp++ = i / 100000 + '0', i %= 100000; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:317:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 317 | x4: *cp++ = i / 10000 + '0', i %= 10000; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:318:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 318 | x3: *cp++ = i / 1000 + '0', i %= 1000; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:319:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 319 | x2: *cp++ = i / 100 + '0', i %= 100; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:320:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 320 | x1: *cp++ = i / 10 + '0', i %= 10; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:321:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 321 | x0: *cp++ = i + '0'; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:328:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 328 | *cp++ = i / 10000000 + '0', i %= 10000000; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:329:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 329 | *cp++ = i / 1000000 + '0', i %= 1000000; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:330:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 330 | *cp++ = i / 100000 + '0', i %= 100000; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:331:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 331 | *cp++ = i / 10000 + '0', i %= 10000; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:332:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 332 | *cp++ = i / 1000 + '0', i %= 1000; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:333:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 333 | *cp++ = i / 100 + '0', i %= 100; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:334:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 334 | *cp++ = i / 10 + '0', i %= 10; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:335:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 335 | *cp++ = i + '0'; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:344:34: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 344 | return append_uint32(cp, i); | ~~~~~~~~~~~~~ ^ ./cram/cram_io.h:347:33: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 347 | cp = append_uint32(cp, j/1000000000); | ~~~~~~~~~~~~~ ~^~~~~~~~~~~ ./cram/cram_io.h:349:31: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 349 | cp = append_sub32(cp, j); | ~~~~~~~~~~~~ ^ ./cram/cram_io.h:351:34: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 351 | cp = append_uint32(cp, i / 1000000000); | ~~~~~~~~~~~~~ ~~^~~~~~~~~~~~ In file included from hts.c:55: ./htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ In file included from hts.c:59: In file included from ./hts_internal.h:31: ./textutils_internal.h:179:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 179 | static inline char tolower_c(char c) { return tolower((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:180:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | static inline char toupper_c(char c) { return toupper((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:416:9: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 416 | d = n / D[v - start - point]; | ^ ~ ./textutils_internal.h:399:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 399 | point = v - start; | ~ ~~^~~~~~~ ./textutils_internal.h:405:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | point = v - start; | ~ ~~^~~~~~~ hts.c:326:19: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'uInt' (aka 'unsigned int') [-Wshorten-64-to-32] 326 | zs.avail_in = npeek; | ~ ^~~~~ hts.c:328:20: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uInt' (aka 'unsigned int') [-Wshorten-64-to-32] 328 | zs.avail_out = destsize; | ~ ^~~~~~~~ hts.c:1144:20: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 1144 | o->val.i = strtol(val, &endp, 0); | ~ ^~~~~~~~~~~~~~~~~~~~~ hts.c:1162:55: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 1162 | o->opt = CRAM_OPT_REQUIRED_FIELDS, o->val.i = strtol(val, NULL, 0); | ~ ^~~~~~~~~~~~~~~~~~~~ hts.c:1166:51: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 1166 | o->opt = CRAM_OPT_LOSSY_NAMES, o->val.i = strtol(val, NULL, 0); | ~ ^~~~~~~~~~~~~~~~~~~~ hts.c:1182:49: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 1182 | o->opt = HTS_OPT_BLOCK_SIZE, o->val.i = strtol(val, NULL, 0); | ~ ^~~~~~~~~~~~~~~~~~~~ hts.c:1186:56: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 1186 | o->opt = HTS_OPT_COMPRESSION_LEVEL, o->val.i = strtol(val, NULL, 0); | ~ ^~~~~~~~~~~~~~~~~~~~ hts.c:1311:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 1311 | len = str - str_start; | ~ ~~~~^~~~~~~~~~~ hts.c:1983:20: warning: implicit conversion loses integer precision: 'uintptr_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 1983 | unsigned ptr = (uintptr_t) tmpname; | ~~~ ^~~~~~~~~~~~~~~~~~~ hts.c:2189:15: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 2189 | int len = strlen(fname); | ~~~ ^~~~~~~~~~~~~ hts.c:2234:1: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 2234 | KSORT_INIT_STATIC(_off, hts_pair64_t, pair64_lt) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/ksort.h:97:52: note: expanded from macro 'KSORT_INIT_STATIC' 97 | #define KSORT_INIT_STATIC(name, type_t, __sort_lt) KSORT_INIT_(_ ## name, static klib_unused, type_t, __sort_lt) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/ksort.h:191:20: note: expanded from macro 'KSORT_INIT_' 191 | gap = (size_t)(gap / shrink_factor); \ | ^~~ ~ hts.c:2234:1: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2234 | KSORT_INIT_STATIC(_off, hts_pair64_t, pair64_lt) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/ksort.h:97:52: note: expanded from macro 'KSORT_INIT_STATIC' 97 | #define KSORT_INIT_STATIC(name, type_t, __sort_lt) KSORT_INIT_(_ ## name, static klib_unused, type_t, __sort_lt) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/ksort.h:290:12: note: expanded from macro 'KSORT_INIT_' 290 | for (i = n; i > 1; --i) { \ | ~ ^ hts.c:2235:1: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 2235 | KSORT_INIT_STATIC(_off_max, hts_pair64_max_t, pair64max_lt) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/ksort.h:97:52: note: expanded from macro 'KSORT_INIT_STATIC' 97 | #define KSORT_INIT_STATIC(name, type_t, __sort_lt) KSORT_INIT_(_ ## name, static klib_unused, type_t, __sort_lt) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/ksort.h:191:20: note: expanded from macro 'KSORT_INIT_' 191 | gap = (size_t)(gap / shrink_factor); \ | ^~~ ~ hts.c:2235:1: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2235 | KSORT_INIT_STATIC(_off_max, hts_pair64_max_t, pair64max_lt) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/ksort.h:97:52: note: expanded from macro 'KSORT_INIT_STATIC' 97 | #define KSORT_INIT_STATIC(name, type_t, __sort_lt) KSORT_INIT_(_ ## name, static klib_unused, type_t, __sort_lt) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/ksort.h:290:12: note: expanded from macro 'KSORT_INIT_' 290 | for (i = n; i > 1; --i) { \ | ~ ^ hts.c:2367:14: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 2367 | for (i = beg; i <= end; ++i) { | ~ ^~~ hts.c:2440:19: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 2440 | for (l=lidx->n-2; l >= 0; l--) { | ~~~~~~~~^~ hts.c:2657:32: warning: implicit conversion loses integer precision: 'unsigned long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 2657 | uint32_t len = strlen(name)+1; | ~~~ ~~~~~~~~~~~~^~ hts.c:2807:45: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 2807 | check(idx_write_int32(fp, lidx->n)); | ~~~~~~~~~~~~~~~ ~~~~~~^ hts.c:2765:29: note: expanded from macro 'check' 2765 | #define check(ret) if ((ret) < 0) return -1 | ^~~ hts.c:2978:26: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 2978 | for (j = l->n-1; j > k; j--) // fill missing values; may happen given older samtools and tabix | ~ ~~~~^~ hts.c:3156:18: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3156 | for (i = b; i <= e; ++i) { | ~ ^ hts.c:3175:35: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3175 | int level = hts_bin_level(bin); | ~~~~~~~~~~~~~ ^~~ hts.c:3182:42: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3182 | itr->bins.a[itr->bins.n++] = bin; | ~ ^~~ hts.c:3214:23: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 3214 | itr->bins.m = new_m; | ~ ^~~~~ hts.c:3266:43: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'khint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 3266 | khint_t k = kh_get(bin, bidx, i); | ~~~~~~~~~~~~~~~~~~^~ ./cram/../htslib/khash.h:614:45: note: expanded from macro 'kh_get' 614 | #define kh_get(name, h, k) kh_get_##name(h, k) | ~~~~~~~~~~~~~ ^ hts.c:3291:35: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3291 | int level = hts_bin_level(bin); | ~~~~~~~~~~~~~ ^~~ hts.c:3471:52: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 3471 | unmapped = kh_val(bidx, k).list[1].v; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~^ hts.c:3483:26: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 3483 | rel_off = beg>>idx->min_shift; | ~ ~~~^~~~~~~~~~~~~~~~ hts.c:3526:80: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3526 | bin = hts_bin_first(idx->n_lvls) + ((end-1) >> idx->min_shift) + 1; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ hts.c:3649:52: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 3649 | unmapped = kh_val(bidx, k).list[1].v; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~^ hts.c:3664:30: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 3664 | rel_off = beg>>idx->min_shift; | ~ ~~~^~~~~~~~~~~~~~~~ hts.c:3709:84: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3709 | bin = hts_bin_first(idx->n_lvls) + ((end-1) >> idx->min_shift) + 1; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ hts.c:3916:35: warning: implicit conversion loses integer precision: 'unsigned long long' to 'int' [-Wshorten-64-to-32] 3916 | while (isdigit_c(*s)) e = push_digit(e, *s++); | ~ ^~~~~~~~~~~~~~~~~~~ hts.c:4198:12: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 4198 | *beg = beg64; | ~ ^~~~~ hts.c:4199:12: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 4199 | *end = end64; | ~ ^~~~~ hts.c:4583:41: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 4583 | iter->curr_reg = (found_reg - iter->reg_list); | ~ ~~~~~~~~~~^~~~~~~~~~~~~~~~ hts.c:4651:27: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 4651 | *local_len = e-p; | ~ ~^~ hts.c:4682:25: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 4682 | while ((l = hread(remote_hfp, buf, buf_size)) > 0) { | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hts.c:4708:27: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 4708 | *local_len = e-p; | ~ ~^~ hts.c:4711:27: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 4711 | *local_len = e-fn; | ~ ~^~~ hts.c:4726:22: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 4726 | *local_len = strlen(fn); | ~ ^~~~~~~~~~ hts.c:4773:29: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 4773 | for (i = strlen(fn) - 1; i >= 0; --i) | ~ ~~~~~~~~~~~^~~ hts.c:4792:12: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 4792 | l_fn = strlen(fn_tmp); l_ext = 5; | ~ ^~~~~~~~~~~~~~ hts.c:5144:43: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 5144 | case 4: *((uint32_t *) size_in_out) = new_size; break; | ~ ^~~~~~~~ 91 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o hts_expr.o hts_expr.c In file included from hts_expr.c:40: In file included from ./htslib/hts_expr.h:29: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from hts_expr.c:43: ./textutils_internal.h:179:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 179 | static inline char tolower_c(char c) { return tolower((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:180:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | static inline char toupper_c(char c) { return toupper((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:416:9: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 416 | d = n / D[v - start - point]; | ^ ~ ./textutils_internal.h:399:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 399 | point = v - start; | ~ ~~^~~~~~~ ./textutils_internal.h:405:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | point = v - start; | ~ ~~^~~~~~~ hts_expr.c:94:21: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 94 | res->d = res->s.l; | ~ ~~~~~~~^ hts_expr.c:142:14: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 142 | v /= l; | ~~ ^ hts_expr.c:188:35: warning: implicit conversion turns floating-point number into integer: 'double' to 'char' [-Wfloat-conversion] 188 | res->is_true = res->d = hts_expr_val_existsT(res); | ~ ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ hts_expr.c:405:26: warning: implicit conversion from 'int64_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 405 | res->d = ~(int64_t)res->d; | ~ ^~~~~~~~~~~~~~~~ hts_expr.c:448:21: warning: implicit conversion turns floating-point number into integer: 'double' to '_Bool' [-Wfloat-conversion] 448 | if (val.d) | ~~ ~~~~^ hts_expr.c:449:42: warning: implicit conversion from 'int64_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 449 | res->d = (int64_t)res->d % (int64_t)val.d; | ~ ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ hts_expr.c:533:48: warning: implicit conversion from 'int64_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 533 | (res->d = ((int64_t)res->d & (int64_t)val.d)) != 0; | ~ ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ hts_expr.c:568:48: warning: implicit conversion from 'int64_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 568 | (res->d = ((int64_t)res->d ^ (int64_t)val.d)) != 0; | ~ ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ hts_expr.c:603:48: warning: implicit conversion from 'int64_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 603 | (res->d = ((int64_t)res->d | (int64_t)val.d)) != 0; | ~ ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ hts_expr.c:639:17: warning: implicit conversion turns floating-point number into integer: 'double' to 'char' [-Wfloat-conversion] 638 | res->is_true=res->d | ~~~~~~~ 639 | = res->is_str && res->s.s && val.is_str && val.s.s | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 640 | ? strcmp(res->s.s, val.s.s) >= 0 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 641 | : !res->is_str && !val.is_str && res->d >= val.d; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hts_expr.c:651:17: warning: implicit conversion turns floating-point number into integer: 'double' to 'char' [-Wfloat-conversion] 650 | res->is_true=res->d | ~~~~~~~ 651 | = res->is_str && res->s.s && val.is_str && val.s.s | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 652 | ? strcmp(res->s.s, val.s.s) > 0 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 653 | : !res->is_str && !val.is_str && res->d > val.d; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hts_expr.c:663:17: warning: implicit conversion turns floating-point number into integer: 'double' to 'char' [-Wfloat-conversion] 662 | res->is_true=res->d | ~~~~~~~ 663 | = res->is_str && res->s.s && val.is_str && val.s.s | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 664 | ? strcmp(res->s.s, val.s.s) <= 0 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 665 | : !res->is_str && !val.is_str && res->d <= val.d; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hts_expr.c:675:17: warning: implicit conversion turns floating-point number into integer: 'double' to 'char' [-Wfloat-conversion] 674 | res->is_true=res->d | ~~~~~~~ 675 | = res->is_str && res->s.s && val.is_str && val.s.s | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 676 | ? strcmp(res->s.s, val.s.s) < 0 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 677 | : !res->is_str && !val.is_str && res->d < val.d; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hts_expr.c:712:35: warning: implicit conversion turns floating-point number into integer: 'double' to 'char' [-Wfloat-conversion] 712 | res->is_true = res->d = 0; | ~ ~~~~~~~^~~ hts_expr.c:717:39: warning: implicit conversion turns floating-point number into integer: 'double' to 'char' [-Wfloat-conversion] 717 | res->is_true = res->d = res->is_str | ~ ~~~~~~~^~~~~~~~~~~~~ 718 | ? (res->s.s && val.s.s ?strcmp(res->s.s, val.s.s)==0 :0) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 719 | : !res->is_str && !val.is_str && res->d == val.d; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hts_expr.c:727:35: warning: implicit conversion turns floating-point number into integer: 'double' to 'char' [-Wfloat-conversion] 727 | res->is_true = res->d = 0; | ~ ~~~~~~~^~~ hts_expr.c:732:39: warning: implicit conversion turns floating-point number into integer: 'double' to 'char' [-Wfloat-conversion] 732 | res->is_true = res->d = res->is_str | ~ ~~~~~~~^~~~~~~~~~~~~ 733 | ? (res->s.s && val.s.s ?strcmp(res->s.s, val.s.s) != 0 :1) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 734 | : res->is_str != val.is_str || res->d != val.d; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hts_expr.c:769:35: warning: implicit conversion turns floating-point number into integer: 'double' to 'char' [-Wfloat-conversion] 769 | res->is_true = res->d = regexec(preg, res->s.s, 0, NULL, 0) == 0 | ~ ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 770 | ? *str == '=' // matcn | ~~~~~~~~~~~~~~~~~~~~~~~ 771 | : *str == '!'; // no-match | ~~~~~~~~~~~~~ hts_expr.c:809:39: warning: implicit conversion turns floating-point number into integer: 'double' to 'char' [-Wfloat-conversion] 809 | res->is_true = res->d = | ~ ~~~~~~~^ 810 | (res->is_true || (res->is_str && res->s.s) || res->d) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 811 | (val.is_true || (val.is_str && val.s.s) || val.d); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hts_expr.c:811:69: warning: implicit conversion turns floating-point number into integer: 'double' to '_Bool' [-Wfloat-conversion] 811 | (val.is_true || (val.is_str && val.s.s) || val.d); | ~~ ~~~~^ hts_expr.c:810:72: warning: implicit conversion turns floating-point number into integer: 'double' to '_Bool' [-Wfloat-conversion] 810 | (res->is_true || (res->is_str && res->s.s) || res->d) && | ~~ ~~~~~^ hts_expr.c:821:75: warning: implicit conversion turns floating-point number into integer: 'double' to '_Bool' [-Wfloat-conversion] 821 | !(val.is_true || (val.is_str && val.s.s ) || val.d)) { | ~~ ~~~~^ hts_expr.c:826:76: warning: implicit conversion turns floating-point number into integer: 'double' to '_Bool' [-Wfloat-conversion] 826 | !(res->is_true || (res->is_str && res->s.s) || res->d)){ | ~~ ~~~~~^ hts_expr.c:831:39: warning: implicit conversion turns floating-point number into integer: 'double' to 'char' [-Wfloat-conversion] 831 | res->is_true = res->d = | ~ ~~~~~~~^ 832 | res->is_true || (res->is_str && res->s.s) || res->d || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 833 | val.is_true || (val.is_str && val.s.s ) || val.d; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hts_expr.c:833:70: warning: implicit conversion turns floating-point number into integer: 'double' to '_Bool' [-Wfloat-conversion] 833 | val.is_true || (val.is_str && val.s.s ) || val.d; | ~~ ~~~~^ hts_expr.c:832:71: warning: implicit conversion turns floating-point number into integer: 'double' to '_Bool' [-Wfloat-conversion] 832 | res->is_true || (res->is_str && res->s.s) || res->d || | ~~ ~~~~~^ 39 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o hts_os.o hts_os.c clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o md5.o md5.c In file included from md5.c:53: In file included from ./htslib/hts.h:37: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from md5.c:53: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from md5.c:54: ./htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ md5.c:291:25: warning: implicit conversion loses integer precision: 'hts_md5_u32plus' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 291 | ctx->buffer[56] = ctx->lo; | ~ ~~~~~^~ md5.c:292:28: warning: implicit conversion loses integer precision: 'hts_md5_u32plus' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 292 | ctx->buffer[57] = ctx->lo >> 8; | ~ ~~~~~~~~^~~~ md5.c:293:28: warning: implicit conversion loses integer precision: 'hts_md5_u32plus' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 293 | ctx->buffer[58] = ctx->lo >> 16; | ~ ~~~~~~~~^~~~~ md5.c:295:25: warning: implicit conversion loses integer precision: 'hts_md5_u32plus' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 295 | ctx->buffer[60] = ctx->hi; | ~ ~~~~~^~ md5.c:296:28: warning: implicit conversion loses integer precision: 'hts_md5_u32plus' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 296 | ctx->buffer[61] = ctx->hi >> 8; | ~ ~~~~~~~~^~~~ md5.c:297:28: warning: implicit conversion loses integer precision: 'hts_md5_u32plus' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 297 | ctx->buffer[62] = ctx->hi >> 16; | ~ ~~~~~~~~^~~~~ md5.c:302:19: warning: implicit conversion loses integer precision: 'hts_md5_u32plus' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 302 | result[0] = ctx->a; | ~ ~~~~~^ md5.c:303:21: warning: implicit conversion loses integer precision: 'hts_md5_u32plus' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 303 | result[1] = ctx->a >> 8; | ~ ~~~~~~~^~~~ md5.c:304:21: warning: implicit conversion loses integer precision: 'hts_md5_u32plus' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 304 | result[2] = ctx->a >> 16; | ~ ~~~~~~~^~~~~ md5.c:306:19: warning: implicit conversion loses integer precision: 'hts_md5_u32plus' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 306 | result[4] = ctx->b; | ~ ~~~~~^ md5.c:307:21: warning: implicit conversion loses integer precision: 'hts_md5_u32plus' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 307 | result[5] = ctx->b >> 8; | ~ ~~~~~~~^~~~ md5.c:308:21: warning: implicit conversion loses integer precision: 'hts_md5_u32plus' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 308 | result[6] = ctx->b >> 16; | ~ ~~~~~~~^~~~~ md5.c:310:19: warning: implicit conversion loses integer precision: 'hts_md5_u32plus' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 310 | result[8] = ctx->c; | ~ ~~~~~^ md5.c:311:21: warning: implicit conversion loses integer precision: 'hts_md5_u32plus' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 311 | result[9] = ctx->c >> 8; | ~ ~~~~~~~^~~~ md5.c:312:22: warning: implicit conversion loses integer precision: 'hts_md5_u32plus' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 312 | result[10] = ctx->c >> 16; | ~ ~~~~~~~^~~~~ md5.c:314:20: warning: implicit conversion loses integer precision: 'hts_md5_u32plus' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 314 | result[12] = ctx->d; | ~ ~~~~~^ md5.c:315:22: warning: implicit conversion loses integer precision: 'hts_md5_u32plus' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 315 | result[13] = ctx->d >> 8; | ~ ~~~~~~~^~~~ md5.c:316:22: warning: implicit conversion loses integer precision: 'hts_md5_u32plus' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 316 | result[14] = ctx->d >> 16; | ~ ~~~~~~~^~~~~ 30 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o multipart.o multipart.c In file included from multipart.c:32: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from multipart.c:34: In file included from ./hts_internal.h:30: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from multipart.c:34: In file included from ./hts_internal.h:31: ./textutils_internal.h:179:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 179 | static inline char tolower_c(char c) { return tolower((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:180:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | static inline char toupper_c(char c) { return toupper((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:416:9: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 416 | d = n / D[v - start - point]; | ^ ~ ./textutils_internal.h:399:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 399 | point = v - start; | ~ ~~^~~~~~~ ./textutils_internal.h:405:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | point = v - start; | ~ ~~^~~~~~~ In file included from multipart.c:35: In file included from ./hfile_internal.h:31: ./htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ 15 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o probaln.o probaln.c In file included from probaln.c:37: In file included from ./htslib/hts.h:37: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from probaln.c:37: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ probaln.c:125:30: warning: implicit conversion loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 125 | g_qual2prob[i] = pow(10, -i/10.); | ~ ^~~~~~~~~~~~~~~ probaln.c:141:23: warning: implicit conversion from 'int' to 'float' may lose precision [-Wimplicit-int-float-conversion] 141 | bM = (1 - c->d) / l_ref; // (bM+bI)*l_ref==1 | ~ ^~~~~ probaln.c:142:17: warning: implicit conversion from 'int' to 'float' may lose precision [-Wimplicit-int-float-conversion] 142 | bI = c->d / l_ref; | ~ ^~~~~ probaln.c:419:81: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 419 | if (q) k = (int)(-4.343 * log(1. - max) + .499), q[i-1] = k > 100? 99 : k; | ~ ^ 13 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o realn.o realn.c In file included from realn.c:36: In file included from ./htslib/hts.h:37: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from realn.c:36: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from realn.c:38: In file included from ./htslib/sam.h:34: ./htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ realn.c:129:35: warning: implicit conversion loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 129 | probaln_par_t conf = { 0.001, 0.1, 10 }; // Illumina | ~ ^~~ realn.c:129:28: warning: implicit conversion loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 129 | probaln_par_t conf = { 0.001, 0.1, 10 }; // Illumina | ~ ^~~~~ realn.c:142:18: warning: implicit conversion loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 142 | conf.d = 1e-7; | ~ ^~~~ realn.c:143:18: warning: implicit conversion loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 143 | conf.e = 1e-1; | ~ ^~~~ realn.c:183:61: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 183 | qual[i] = qual[i] + 64 < bq[i]? 0 : qual[i] - ((int)bq[i] - 64); | ~ ~~~~~~~~^~~~~~~~~~~~~~~~~~~ realn.c:246:23: warning: implicit conversion loses integer precision: 'const int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 246 | tseq[i] = seq_nt16_int[bam_seqi(seq, i)]; | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ realn.c:249:26: warning: implicit conversion loses integer precision: 'const int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 249 | tref[i-xb] = seq_nt16_int[seq_nt16_table[(unsigned char)ref[i]]]; | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ realn.c:201:30: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 201 | if (xb < 0) xb = x; | ~ ^ realn.c:202:32: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 202 | ye = y + l; xe = x + l; | ~ ~~^~~ realn.c:248:56: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 248 | if (i >= ref_len || ref[i] == '\0') { xe = i; break; } | ~ ^ 22 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o regidx.o regidx.c In file included from regidx.c:29: In file included from ./htslib/hts.h:37: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from regidx.c:29: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from regidx.c:35: In file included from ./hts_internal.h:31: ./textutils_internal.h:179:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 179 | static inline char tolower_c(char c) { return tolower((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:180:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | static inline char toupper_c(char c) { return toupper((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:416:9: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 416 | d = n / D[v - start - point]; | ^ ~ ./textutils_internal.h:399:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 399 | point = v - start; | ~ ~~^~~~~~~ ./textutils_internal.h:405:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | point = v - start; | ~ ~~^~~~~~~ regidx.c:221:25: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 221 | idx->payload_size = payload_size; | ~ ^~~~~~~~~~~~ regidx.c:254:23: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 254 | int len = strlen(fname); | ~~~ ^~~~~~~~~~~~~ regidx.c:280:25: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 280 | idx->payload_size = payload_size; | ~ ^~~~~~~~~~~~ regidx.c:378:20: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 378 | int iend = iBIN(list->reg[j].end); | ~~~~ ^~~~~~~~~~~~~~~~~~~~~~ regidx.c:39:21: note: expanded from macro 'iBIN' 39 | #define iBIN(x) ((x)>>13) | ~~~^~~~ regidx.c:389:20: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 389 | int ibeg = iBIN(list->reg[j].beg); | ~~~~ ^~~~~~~~~~~~~~~~~~~~~~ regidx.c:39:21: note: expanded from macro 'iBIN' 39 | #define iBIN(x) ((x)>>13) | ~~~^~~~ regidx.c:390:20: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 390 | int iend = iBIN(list->reg[j].end); | ~~~~ ^~~~~~~~~~~~~~~~~~~~~~ regidx.c:39:21: note: expanded from macro 'iBIN' 39 | #define iBIN(x) ((x)>>13) | ~~~^~~~ regidx.c:424:20: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 424 | int ibeg = iBIN(beg); | ~~~~ ^~~~~~~~~ regidx.c:39:21: note: expanded from macro 'iBIN' 39 | #define iBIN(x) ((x)>>13) | ~~~^~~~ regidx.c:431:24: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 431 | int iend = iBIN(end); | ~~~~ ^~~~~~~~~ regidx.c:39:21: note: expanded from macro 'iBIN' 39 | #define iBIN(x) ((x)>>13) | ~~~^~~~ 22 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o region.o region.c In file included from region.c:28: In file included from ./htslib/hts.h:37: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from region.c:28: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ 9 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o sam.o sam.c In file included from sam.c:50: In file included from ./htslib/sam.h:33: In file included from ./htslib/hts.h:37: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from sam.c:50: In file included from ./htslib/sam.h:33: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from sam.c:50: In file included from ./htslib/sam.h:34: ./htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from sam.c:52: In file included from ./cram/cram.h:48: ./cram/cram_io.h:301:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 301 | if ((j = i / 1000000000)) {*cp++ = j + '0'; i -= j*1000000000; goto x8;} | ~ ~~^~~~~ ./cram/cram_io.h:302:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 302 | if ((j = i / 100000000)) {*cp++ = j + '0'; i -= j*100000000; goto x7;} | ~ ~~^~~~~ ./cram/cram_io.h:303:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 303 | b7:if ((j = i / 10000000)) {*cp++ = j + '0'; i -= j*10000000; goto x6;} | ~ ~~^~~~~ ./cram/cram_io.h:304:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 304 | if ((j = i / 1000000)) {*cp++ = j + '0', i -= j*1000000; goto x5;} | ~ ~~^~~~~ ./cram/cram_io.h:305:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 305 | b5:if ((j = i / 100000)) {*cp++ = j + '0', i -= j*100000; goto x4;} | ~ ~~^~~~~ ./cram/cram_io.h:306:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 306 | if ((j = i / 10000)) {*cp++ = j + '0', i -= j*10000; goto x3;} | ~ ~~^~~~~ ./cram/cram_io.h:307:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 307 | b3:if ((j = i / 1000)) {*cp++ = j + '0', i -= j*1000; goto x2;} | ~ ~~^~~~~ ./cram/cram_io.h:308:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 308 | if ((j = i / 100)) {*cp++ = j + '0', i -= j*100; goto x1;} | ~ ~~^~~~~ ./cram/cram_io.h:309:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 309 | b1:if ((j = i / 10)) {*cp++ = j + '0', i -= j*10; goto x0;} | ~ ~~^~~~~ ./cram/cram_io.h:310:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 310 | if (i) *cp++ = i + '0'; | ~ ~~^~~~~ ./cram/cram_io.h:314:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 314 | x7: *cp++ = i / 10000000 + '0', i %= 10000000; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:315:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 315 | x6: *cp++ = i / 1000000 + '0', i %= 1000000; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:316:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 316 | x5: *cp++ = i / 100000 + '0', i %= 100000; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:317:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 317 | x4: *cp++ = i / 10000 + '0', i %= 10000; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:318:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 318 | x3: *cp++ = i / 1000 + '0', i %= 1000; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:319:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 319 | x2: *cp++ = i / 100 + '0', i %= 100; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:320:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 320 | x1: *cp++ = i / 10 + '0', i %= 10; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:321:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 321 | x0: *cp++ = i + '0'; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:328:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 328 | *cp++ = i / 10000000 + '0', i %= 10000000; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:329:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 329 | *cp++ = i / 1000000 + '0', i %= 1000000; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:330:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 330 | *cp++ = i / 100000 + '0', i %= 100000; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:331:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 331 | *cp++ = i / 10000 + '0', i %= 10000; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:332:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 332 | *cp++ = i / 1000 + '0', i %= 1000; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:333:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 333 | *cp++ = i / 100 + '0', i %= 100; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:334:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 334 | *cp++ = i / 10 + '0', i %= 10; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:335:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 335 | *cp++ = i + '0'; | ~ ~~~~~~~~~~~~~~^~~~~ ./cram/cram_io.h:344:34: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 344 | return append_uint32(cp, i); | ~~~~~~~~~~~~~ ^ ./cram/cram_io.h:347:33: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 347 | cp = append_uint32(cp, j/1000000000); | ~~~~~~~~~~~~~ ~^~~~~~~~~~~ ./cram/cram_io.h:349:31: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 349 | cp = append_sub32(cp, j); | ~~~~~~~~~~~~ ^ ./cram/cram_io.h:351:34: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 351 | cp = append_uint32(cp, i / 1000000000); | ~~~~~~~~~~~~~ ~~^~~~~~~~~~~~ In file included from sam.c:53: In file included from ./hts_internal.h:31: ./textutils_internal.h:179:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 179 | static inline char tolower_c(char c) { return tolower((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:180:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | static inline char toupper_c(char c) { return toupper((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:416:9: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 416 | d = n / D[v - start - point]; | ^ ~ ./textutils_internal.h:399:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 399 | point = v - start; | ~ ~~^~~~~~~ ./textutils_internal.h:405:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | point = v - start; | ~ ~~^~~~~~~ In file included from sam.c:55: ./htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ sam.c:247:17: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 247 | magic_len = bgzf_read(fp, buf, 4); | ~ ^~~~~~~~~~~~~~~~~~~~~ sam.c:366:25: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 366 | l_text = hdr_ks.l; | ~ ~~~~~~~^ sam.c:376:21: warning: implicit conversion loses integer precision: 'const size_t' (aka 'const unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 376 | l_text = h->l_text; | ~ ~~~^~~~~~ sam.c:400:30: warning: implicit conversion loses integer precision: 'unsigned long' to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 400 | name_len = strlen(p) + 1; | ~ ~~~~~~~~~~^~~ sam.c:442:18: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 442 | new_m_data = desired; | ~ ^~~~~~~ sam.c:604:21: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 604 | bam->core.bin = bam_reg2bin(pos, pos + rlen); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./cram/cram_samtools.h:57:30: note: expanded from macro 'bam_reg2bin' 57 | #define bam_reg2bin(beg,end) hts_reg2bin((beg),(end),14,5) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:634:50: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 634 | cp[j] = (seq_nt16_table[u2[j*2]]<<4) | seq_nt16_table[u2[j*2+1]]; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:638:48: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 638 | *cp++ = (seq_nt16_table[useq[i]] << 4) | seq_nt16_table[useq[i + 1]]; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:642:55: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 642 | *cp++ = seq_nt16_table[(unsigned char)seq[i]] << 4; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ sam.c:734:23: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 734 | b->core.bin = hts_reg2bin(b->core.pos, bam_endpos(b), 14, 5); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:718:33: warning: implicit conversion loses integer precision: 'long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 718 | cigar_st = (uint8_t*)cigar0 - b->data; | ~ ~~~~~~~~~~~~~~~~~^~~~~~~~~ sam.c:721:26: warning: implicit conversion loses integer precision: 'long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 721 | CG_st = CG - b->data - 2; | ~ ~~~~~~~~~~~~~^~~ sam.c:853:23: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 853 | b->core.bin = hts_reg2bin(b->core.pos, b->core.pos + rlen, 14, 5); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:796:16: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 796 | if ((ret = bgzf_read_small(fp, &block_len, 4)) != 4) { | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:883:15: warning: implicit conversion loses integer precision: 'const hts_pos_t' (aka 'const long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 883 | x[1] = c->pos; | ~ ~~~^~~ sam.c:889:15: warning: implicit conversion loses integer precision: 'const hts_pos_t' (aka 'const long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 889 | x[6] = c->mpos; | ~ ~~~^~~~ sam.c:890:15: warning: implicit conversion loses integer precision: 'const hts_pos_t' (aka 'const long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 890 | x[7] = c->isize; | ~ ~~~^~~~~ sam.c:916:47: warning: implicit conversion loses integer precision: 'long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 916 | cigar_st = (uint8_t*)bam_get_cigar(b) - b->data; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ sam.c:987:33: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 987 | rec->core.l_qname = new_len + extranul; | ~ ~~~~~~~~^~~~~~~~~~ sam.c:988:28: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 988 | rec->core.l_extranul = extranul; | ~ ^~~~~~~~ sam.c:986:19: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 986 | rec->l_data = new_data_len; | ~ ^~~~~~~~~~~~ sam.c:1202:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1202 | int len = lib.l < sizeof(LB_text) - 1 ? lib.l : sizeof(LB_text) - 1; | ~~~ ~~~~^ sam.c:1254:22: warning: implicit conversion from 'hts_pos_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 1254 | res->d = bam_endpos(b); | ~ ^~~~~~~~~~~~~ sam.c:1360:34: warning: implicit conversion from 'hts_pos_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 1360 | res->d = b->core.mpos+1; | ~ ~~~~~~~~~~~~^~ sam.c:1386:33: warning: implicit conversion from 'hts_pos_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 1386 | res->d = b->core.pos+1; | ~ ~~~~~~~~~~~^~ sam.c:1390:34: warning: implicit conversion from 'hts_pos_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 1390 | res->d = b->core.mpos+1; | ~ ~~~~~~~~~~~~^~ sam.c:1398:22: warning: implicit conversion from 'hts_pos_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 1398 | res->d = bam_cigar2qlen(b->core.n_cigar, bam_get_cigar(b)); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:1420:22: warning: implicit conversion from 'hts_pos_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 1420 | res->d = bam_cigar2rlen(b->core.n_cigar, bam_get_cigar(b)); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:1485:30: warning: implicit conversion from 'const hts_pos_t' (aka 'const long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 1485 | res->d = b->core.isize; | ~ ~~~~~~~~^~~~~ sam.c:1515:30: warning: implicit conversion from 'int64_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 1515 | res->d = bam_aux2i(aux); | ~ ^~~~~~~~~~~~~~ sam.c:2246:34: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 2246 | *(b->data + b->l_data) = hts_str2int(q + 1, &q, 8, overflow); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:2261:38: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 2261 | *(b->data + b->l_data) = hts_str2uint(q + 1, &q, 8, overflow); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:2280:19: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 2280 | i16_to_le(hts_str2int(q + 1, &q, 16, overflow), | ~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:2296:23: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 2296 | u16_to_le(hts_str2uint(q + 1, &q, 16, overflow), | ~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:2316:19: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 2316 | i32_to_le(hts_str2int(q + 1, &q, 32, overflow), | ~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:2332:23: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 2332 | u32_to_le(hts_str2uint(q + 1, &q, 32, overflow), | ~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:2352:21: warning: implicit conversion loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 2352 | float_to_le(strtod(q + 1, &q), b->data + b->l_data); | ~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~ sam.c:2494:16: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 2494 | return hts_str2uint(v, rv, 16, overflow); | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:2502:20: warning: implicit conversion loses integer precision: 'unsigned long' to 'unsigned int' [-Wshorten-64-to-32] 2502 | return val; | ~~~~~~ ^~~ sam.c:2590:44: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 2590 | b->data[b->l_data++] = x; | ~ ^ sam.c:2593:31: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 2593 | i16_to_le(x, b->data + b->l_data); | ~~~~~~~~~ ^ sam.c:2604:44: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 2604 | b->data[b->l_data++] = x; | ~ ^ sam.c:2607:31: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 2607 | u16_to_le(x, b->data + b->l_data); | ~~~~~~~~~ ^ sam.c:2617:25: warning: implicit conversion loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 2617 | float_to_le(strtod(q, &q), b->data + b->l_data); | ~~~~~~~~~~~ ^~~~~~~~~~~~~ sam.c:2587:29: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 2587 | int32_t x = hts_str2int(q, &q, 32, &overflow); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:2601:30: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 2601 | uint32_t x = hts_str2uint(q, &q, 32, &overflow); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:2722:24: warning: implicit conversion loses integer precision: 'long' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 2722 | c->l_qname = p - q + c->l_extranul; | ~ ~~~~~~^~~~~~~~~~~~~~~ sam.c:2725:15: warning: implicit conversion loses integer precision: 'unsigned int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 2725 | c->flag = parse_sam_flag(p, &p, &overflow); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:2747:15: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 2747 | c->qual = hts_str2uint(p, &p, 8, &overflow); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:2768:14: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 2768 | c->bin = hts_reg2bin(c->pos, c->pos + cigreflen, 14, 5); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:2803:66: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 2803 | t[i>>1] = (seq_nt16_table[(unsigned char)q[i]] << 4) | seq_nt16_table[(unsigned char)q[i+1]]; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:2805:59: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 2805 | t[i>>1] = seq_nt16_table[(unsigned char)q[i]] << ((~i&1)<<2); | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ sam.c:2753:23: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 2753 | int n_cigar = bam_parse_cigar(p, &p, b); | ~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:2795:27: warning: implicit conversion loses integer precision: 'long' to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 2795 | c->l_qseq = p - q - 1; | ~ ~~~~~~^~~ sam.c:2867:49: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 2867 | len = hts_str2uint(p, &q, 28, &overflow)<core.n_cigar = n_cigar; | ~ ^~~~~~~ sam.c:3422:32: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 3422 | line_frag = cp_end - cp; | ~ ~~~~~~~^~~~ sam.c:3685:24: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 3685 | gl->data_size = ks.l; | ~ ~~~^ sam.c:3686:20: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 3686 | gl->alloc = ks.m; | ~ ~~~^ sam.c:3786:18: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 3786 | x->nprefix = name_char; | ~ ^~~~~~~~~ sam.c:4064:20: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 4062 | ret = bam_set1(b, | ~~~~~~~~ 4063 | x->name.s + x->name.l - name, name, 4064 | flag, | ^~~~ sam.c:4074:47: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 4074 | if (bam_aux_append(b, x->UMI[0], 'Z', UMI_len, (uint8_t *)UMI_seq) < 0) | ~~~~~~~~~~~~~~ ^~~~~~~ sam.c:4108:30: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 4108 | barcode_len = i+1-(barcode - kc->s); | ~ ~~~^~~~~~~~~~~~~~~~~~ sam.c:4384:17: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 4384 | return str->l; | ~~~~~~ ~~~~~^ sam.c:4482:21: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 4482 | int l = strlen((char *)bc+1); | ~ ^~~~~~~~~~~~~~~~~~~~ sam.c:4540:26: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 4540 | return e ? -1 : str->l; | ~~~~~~ ~~~~~^ sam.c:4622:46: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 4622 | if (gb->nbams == SAM_NBAM || gb->bam_mem > SAM_NBYTES*0.8) { | ~~~~^~~~~~~ ~ sam.c:4672:29: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 4672 | return fp->line.l; | ~~~~~~ ~~~~~~~~~^ sam.c:4696:25: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 4696 | return fp->line.l; | ~~~~~~ ~~~~~~~~~^ sam.c:5113:28: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 5113 | return get_int_aux_val(type, s, 0); | ~~~~~~~~~~~~~~~ ^~~~ sam.c:5122:17: warning: implicit conversion from 'int64_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 5122 | else return get_int_aux_val(type, s, 0); | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:5122:33: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 5122 | else return get_int_aux_val(type, s, 0); | ~~~~~~~~~~~~~~~ ^~~~ sam.c:5170:17: warning: implicit conversion from 'int64_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 5170 | else return get_int_aux_val(s[1], s + 6, idx); | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:5233:26: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 5233 | format_len = opts-format; | ~ ~~~~^~~~~~~ sam.c:5236:22: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 5236 | format_len = strlen(format); | ~ ^~~~~~~~~~~~~~ sam.c:5284:28: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 5284 | if ( end!=str ) return flag; // the conversion was successful | ~~~~~~ ^~~~ sam.c:5306:12: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 5306 | return flag; | ~~~~~~ ^~~~ sam.c:5484:28: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 5484 | p->qpos = s->y + (pos - s->x); | ~ ~~~~~^~~~~~~~~~~~~~ sam.c:5563:35: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 5563 | ins->s[indel++] = c; | ~ ^ sam.c:5870:41: warning: implicit conversion turns floating-point number into integer: 'double' to 'uint8_t' (aka 'unsigned char') [-Wfloat-conversion] 5869 | a_qual[a_iseq] = amul | ~ 5870 | ? a_qual[a_iseq]*0.8 | ~~~~~~~~~~~~~~^~~~ sam.c:5882:41: warning: implicit conversion turns floating-point number into integer: 'double' to 'uint8_t' (aka 'unsigned char') [-Wfloat-conversion] 5881 | b_qual[b_iseq] = bmul | ~ 5882 | ? b_qual[b_iseq]*0.8 | ~~~~~~~~~~~~~~^~~~ sam.c:5912:35: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 5912 | a_qual[a_iseq] = amul * (qual>200 ? 200 : qual); | ~ ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:5913:35: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 5913 | b_qual[b_iseq] = bmul * (qual>200 ? 200 : qual);; | ~ ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ sam.c:5919:38: warning: implicit conversion turns floating-point number into integer: 'double' to 'uint8_t' (aka 'unsigned char') [-Wfloat-conversion] 5919 | a_qual[a_iseq] = 0.8 * a_qual[a_iseq]; | ~ ~~~~^~~~~~~~~~~~~~~~ sam.c:5923:38: warning: implicit conversion turns floating-point number into integer: 'double' to 'uint8_t' (aka 'unsigned char') [-Wfloat-conversion] 5923 | b_qual[b_iseq] = 0.8 * b_qual[b_iseq]; | ~ ~~~~^~~~~~~~~~~~~~~~ sam.c:5927:45: warning: implicit conversion turns floating-point number into integer: 'double' to 'uint8_t' (aka 'unsigned char') [-Wfloat-conversion] 5927 | a_qual[a_iseq] = amul * 0.8 * a_qual[a_iseq]; | ~ ~~~~~~~~~~~^~~~~~~~~~~~~~~~ sam.c:5928:45: warning: implicit conversion turns floating-point number into integer: 'double' to 'uint8_t' (aka 'unsigned char') [-Wfloat-conversion] 5928 | b_qual[b_iseq] = bmul * 0.8 * b_qual[b_iseq]; | ~ ~~~~~~~~~~~^~~~~~~~~~~~~~~~ sam.c:6062:17: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 6062 | *_pos = pos64; | ~ ^~~~~ sam.c:6161:17: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 6161 | *_pos = pos64; | ~ ^~~~~ sam.c:6295:21: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 6295 | *_pos = pos64; | ~ ^~~~~ 141 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o sam_mods.o sam_mods.c In file included from sam_mods.c:29: In file included from ./htslib/sam.h:33: In file included from ./htslib/hts.h:37: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from sam_mods.c:29: In file included from ./htslib/sam.h:33: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from sam_mods.c:29: In file included from ./htslib/sam.h:34: ./htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from sam_mods.c:30: ./textutils_internal.h:179:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 179 | static inline char tolower_c(char c) { return tolower((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:180:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | static inline char toupper_c(char c) { return toupper((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:416:9: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 416 | d = n / D[v - start - point]; | ^ ~ ./textutils_internal.h:399:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 399 | point = v - start; | ~ ~~^~~~~~~ ./textutils_internal.h:405:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | point = v - start; | ~ ~~^~~~~~~ sam_mods.c:331:28: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 331 | int stride = me-ms; | ~~~~~~ ~~^~~ sam_mods.c:389:45: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 389 | state->MMcount [mod_num] = delta; | ~ ^~~~~ sam_mods.c:472:16: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 472 | base = seqi_rc[base]; | ~ ^~~~~~~~~~~~~ 20 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o simd.o simd.c In file included from simd.c:34: In file included from ./htslib/sam.h:33: In file included from ./htslib/hts.h:37: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from simd.c:34: In file included from ./htslib/sam.h:33: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from simd.c:34: In file included from ./htslib/sam.h:34: ./htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ 12 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o synced_bcf_reader.o synced_bcf_reader.c In file included from synced_bcf_reader.c:38: In file included from ./htslib/synced_bcf_reader.h:59: In file included from ./htslib/hts.h:37: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from synced_bcf_reader.c:38: In file included from ./htslib/synced_bcf_reader.h:59: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from synced_bcf_reader.c:38: In file included from ./htslib/synced_bcf_reader.h:60: In file included from ./htslib/vcf.h:42: ./htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from synced_bcf_reader.c:38: In file included from ./htslib/synced_bcf_reader.h:60: ./htslib/vcf.h:1579:26: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1579 | *p++ = (size<<4) | type; | ~ ~~~~~~~~~~^~~~~~ ./htslib/vcf.h:1587:17: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1587 | *p++ = 15<<4|type; | ~ ~~~~~^~~~~ ./htslib/vcf.h:1591:16: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1591 | *p++ = size; | ~ ^~~~ ./htslib/vcf.h:1596:23: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1596 | i16_to_le(size, p); | ~~~~~~~~~ ^~~~ ./htslib/vcf.h:1632:16: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1632 | p[1] = x; | ~ ^ ./htslib/vcf.h:1636:19: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1636 | i16_to_le(x, p+1); | ~~~~~~~~~ ^ ./htslib/vcf.h:1708:19: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1708 | } else return bcf_dec_typed_int1(p + 1, q); | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ synced_bcf_reader.c:1500:19: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 1500 | int len = strlen(regions); | ~~~ ^~~~~~~~~~~~~~~ synced_bcf_reader.c:1766:126: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 1766 | if ( ®->als_str.s[reg->als_str.l] - reg->als[reg->nals] > max_len ) max_len = ®->als_str.s[reg->als_str.l] - reg->als[reg->nals]; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ synced_bcf_reader.c:1774:122: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 1774 | if ( ®->als_str.s[reg->als_str.l] - reg->als[reg->nals] > max_len ) max_len = ®->als_str.s[reg->als_str.l] - reg->als[reg->nals]; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ 22 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o vcf_sweep.o vcf_sweep.c In file included from vcf_sweep.c:30: In file included from ./htslib/vcf_sweep.h:29: In file included from ./htslib/hts.h:37: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from vcf_sweep.c:30: In file included from ./htslib/vcf_sweep.h:29: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from vcf_sweep.c:30: In file included from ./htslib/vcf_sweep.h:30: In file included from ./htslib/vcf.h:42: ./htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from vcf_sweep.c:30: In file included from ./htslib/vcf_sweep.h:30: ./htslib/vcf.h:1579:26: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1579 | *p++ = (size<<4) | type; | ~ ~~~~~~~~~~^~~~~~ ./htslib/vcf.h:1587:17: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1587 | *p++ = 15<<4|type; | ~ ~~~~~^~~~~ ./htslib/vcf.h:1591:16: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1591 | *p++ = size; | ~ ^~~~ ./htslib/vcf.h:1596:23: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1596 | i16_to_le(size, p); | ~~~~~~~~~ ^~~~ ./htslib/vcf.h:1632:16: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1632 | p[1] = x; | ~ ^ ./htslib/vcf.h:1636:19: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1636 | i16_to_le(x, p+1); | ~~~~~~~~~ ^ ./htslib/vcf.h:1708:19: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1708 | } else return bcf_dec_typed_int1(p + 1, q); | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf_sweep.c:65:36: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 65 | int len = t - rec->d.allele[0] + 1; | ~~~ ~~~~~~~~~~~~~~~~~~~~~^~~ vcf_sweep.c:75:22: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 75 | sw->lpos = rec->pos; | ~ ~~~~~^~~ vcf_sweep.c:79:36: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 79 | int len = t - rec->d.allele[0] + 1; | ~~~ ~~~~~~~~~~~~~~~~~~~~~^~~ vcf_sweep.c:82:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 82 | hts_expand(char, len, sw->mlals, sw->lals); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf_sweep.c:106:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 106 | hts_expand0(bcf1_t, sw->nrec+1, sw->mrec, sw->rec); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts.h:122:19: note: expanded from macro 'hts_expand0' 122 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | sizeof(type_t), 1, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf_sweep.c:174:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 174 | hts_expand(uint64_t, sw->nidx, sw->midx, sw->idx); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o tbx.o tbx.c In file included from tbx.c:34: In file included from ./htslib/tbx.h:30: In file included from ./htslib/hts.h:37: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from tbx.c:34: In file included from ./htslib/tbx.h:30: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from tbx.c:37: ./htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from tbx.c:38: In file included from ./hts_internal.h:31: ./textutils_internal.h:179:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 179 | static inline char tolower_c(char c) { return tolower((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:180:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | static inline char toupper_c(char c) { return toupper((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:416:9: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 416 | d = n / D[v - start - point]; | ^ ~ ./textutils_internal.h:399:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 399 | point = v - start; | ~ ~~^~~~~~~ ./textutils_internal.h:405:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | point = v - start; | ~ ~~^~~~~~~ tbx.c:90:33: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 90 | return k == kh_end(d)? -1 : kh_val(d, k); | ~~~~~~ ^~~~~~~~~~~~ ./htslib/khash.h:647:23: note: expanded from macro 'kh_val' 647 | #define kh_val(h, x) ((h)->vals[x]) | ^~~~~~~~~~~~ tbx.c:205:35: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 205 | line[i] = c; | ~ ^ tbx.c:252:35: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 252 | line[i] = c; | ~ ^ tbx.c:275:35: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 275 | line[i] = c; | ~ ^ tbx.c:296:35: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 296 | line[i] = c; | ~ ^ tbx.c:327:21: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 327 | *intv->se = c; | ~ ^ tbx.c:441:33: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 441 | int x = strlen(name[i]) + 1; | ~ ~~~~~~~~~~~~~~~~^~~ tbx.c:673:15: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 673 | tid = kh_val(d,k); | ~ ^~~~~~~~~~~ ./htslib/khash.h:647:23: note: expanded from macro 'kh_val' 647 | #define kh_val(h, x) ((h)->vals[x]) | ^~~~~~~~~~~~ 25 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o textutils.o textutils.c In file included from textutils.c:31: ./htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ In file included from textutils.c:32: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from textutils.c:33: In file included from ./htslib/sam.h:33: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from textutils.c:33: In file included from ./htslib/sam.h:34: ./htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from textutils.c:35: In file included from ./hts_internal.h:31: ./textutils_internal.h:179:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 179 | static inline char tolower_c(char c) { return tolower((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:180:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | static inline char toupper_c(char c) { return toupper((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:416:9: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 416 | d = n / D[v - start - point]; | ^ ~ ./textutils_internal.h:399:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 399 | point = v - start; | ~ ~~^~~~~~~ ./textutils_internal.h:405:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | point = v - start; | ~ ~~^~~~~~~ textutils.c:52:30: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 52 | *d++ = (hi << 4) | lo; | ~ ~~~~~~~~~~^~~~ textutils.c:91:26: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 91 | *d++ = (x0 << 2) | (x1 >> 4); | ~ ~~~~~~~~~~^~~~~~~~~~~ textutils.c:92:26: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 92 | *d++ = (x1 << 4) | (x2 >> 2); | ~ ~~~~~~~~~~^~~~~~~~~~~ textutils.c:93:26: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 93 | *d++ = (x2 << 6) | x3; | ~ ~~~~~~~~~~^~~~ textutils.c:96:35: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 96 | if (x1 >= 0) *d++ = (x0 << 2) | (x1 >> 4); | ~ ~~~~~~~~~~^~~~~~~~~~~ textutils.c:97:35: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 97 | if (x2 >= 0) *d++ = (x1 << 4) | (x2 >> 2); | ~ ~~~~~~~~~~^~~~~~~~~~~ textutils.c:106:21: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 106 | *s++ = 0xF0 | (x >> 18); | ~ ~~~~~^~~~~~~~~~~ textutils.c:112:21: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 112 | *s++ = 0xE0 | (x >> 12); | ~ ~~~~~^~~~~~~~~~~ textutils.c:117:21: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 117 | *s++ = 0xC0 | (x >> 6); | ~ ~~~~~^~~~~~~~~~ textutils.c:120:17: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 120 | else *s++ = x; | ~ ^ textutils.c:183:55: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 183 | (c = hgetc(fp)) != EOF && (d4 = dehex(c)) >= 0) { | ~~~~~ ^ textutils.c:182:55: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 182 | (c = hgetc(fp)) != EOF && (d3 = dehex(c)) >= 0 && | ~~~~~ ^ textutils.c:181:55: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 181 | (c = hgetc(fp)) != EOF && (d2 = dehex(c)) >= 0 && | ~~~~~ ^ textutils.c:180:55: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | if ((c = hgetc(fp)) != EOF && (d1 = dehex(c)) >= 0 && | ~~~~~ ^ textutils.c:314:30: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 314 | return token->type = c; | ~ ^ 33 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o thread_pool.o thread_pool.c clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o vcf.o vcf.c In file included from vcf.c:44: In file included from ./htslib/vcf.h:39: In file included from ./htslib/hts.h:37: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from vcf.c:44: In file included from ./htslib/vcf.h:39: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from vcf.c:44: In file included from ./htslib/vcf.h:42: ./htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from vcf.c:44: ./htslib/vcf.h:1579:26: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1579 | *p++ = (size<<4) | type; | ~ ~~~~~~~~~~^~~~~~ ./htslib/vcf.h:1587:17: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1587 | *p++ = 15<<4|type; | ~ ~~~~~^~~~~ ./htslib/vcf.h:1591:16: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1591 | *p++ = size; | ~ ^~~~ ./htslib/vcf.h:1596:23: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1596 | i16_to_le(size, p); | ~~~~~~~~~ ^~~~ ./htslib/vcf.h:1632:16: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1632 | p[1] = x; | ~ ^ ./htslib/vcf.h:1636:19: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1636 | i16_to_le(x, p+1); | ~~~~~~~~~ ^ ./htslib/vcf.h:1708:19: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1708 | } else return bcf_dec_typed_int1(p + 1, q); | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from vcf.c:47: ./htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ In file included from vcf.c:48: In file included from ./hts_internal.h:31: ./textutils_internal.h:179:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 179 | static inline char tolower_c(char c) { return tolower((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:180:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | static inline char toupper_c(char c) { return toupper((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:416:9: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 416 | d = n / D[v - start - point]; | ^ ~ ./textutils_internal.h:399:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 399 | point = v - start; | ~ ~~^~~~~~~ ./textutils_internal.h:405:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | point = v - start; | ~ ~~^~~~~~~ vcf.c:180:21: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 180 | ver = tmp * 100 * 10000; | ~ ~~~~~~~~~~^~~~~~~ vcf.c:266:27: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 266 | kh_val(d, k).id = n; | ~ ^ vcf.c:458:19: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 458 | hrec->nkeys = n; | ~ ^ vcf.c:684:25: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 684 | *len = q - line + (*q ? 1 : 0); // Skip \n but not \0 | ~ ~~~~~~~~~^~~~~~~~~~~~~~ vcf.c:776:21: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 776 | *len = q - line + (*q ? 1 : 0); | ~ ~~~~~~~~~^~~~~~~~~~~~~~ vcf.c:791:25: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 791 | *len = q - line + (*q ? 1 : 0); | ~ ~~~~~~~~~^~~~~~~~~~~~~~ vcf.c:822:25: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 822 | hdr->n[dict_type] = new_n; | ~ ^~~~~ vcf.c:876:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 876 | idx = strtol(hrec->vals[idx], &tmp, 10); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:921:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 921 | idx = strtol(hrec->vals[i], &tmp, 10); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:1800:20: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 1800 | u32_to_le(htxt.l, hlen); | ~~~~~~~~~ ~~~~~^ vcf.c:2120:31: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 2120 | int32_t key = bcf_dec_int1(ptr, type, &ptr); | ~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:2240:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2240 | hts_expand(bcf_fmt_t, rec->n_fmt, dec->m_fmt, dec->fmt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:2261:33: warning: implicit conversion loses integer precision: 'long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 2261 | dec->fmt[i].p_len = dst - dec->fmt[i].p; | ~ ~~~~^~~~~~~~~~~~~~~ vcf.c:2295:35: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 2295 | return bcf_enc_vchar(str, strlen(line->d.id), line->d.id); | ~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~ vcf.c:2305:32: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 2305 | if (bcf_enc_vchar(str, strlen(line->d.allele[i]), line->d.allele[i]) < 0) | ~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:2356:36: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2356 | line->unpack_size[0] = tmp.l; prev_len = tmp.l; | ~ ~~~~^ vcf.c:2359:38: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2359 | line->unpack_size[1] = tmp.l - prev_len; prev_len = tmp.l; | ~ ~~~~~~^~~~~~~~~~ vcf.c:2362:38: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2362 | line->unpack_size[2] = tmp.l - prev_len; | ~ ~~~~~~^~~~~~~~~~ vcf.c:2382:36: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2382 | line->unpack_size[0] = tmp.l; prev_len = tmp.l; | ~ ~~~~^ vcf.c:2393:38: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2393 | line->unpack_size[1] = tmp.l - prev_len; prev_len = tmp.l; | ~ ~~~~~~^~~~~~~~~~ vcf.c:2405:42: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2405 | line->unpack_size[2] = tmp.l - prev_len; | ~ ~~~~~~^~~~~~~~~~ vcf.c:2418:53: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2418 | int size = line->shared.l - (size_t)ptr_ori + (size_t)line->shared.s; | ~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:2558:27: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 2558 | u32_to_le(v->shared.l + 24, x); // to include six 32-bit integers | ~~~~~~~~~ ~~~~~~~~~~~~^~~~ vcf.c:2559:24: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 2559 | u32_to_le(v->indiv.l, x + 4); | ~~~~~~~~~ ~~~~~~~~~^ vcf.c:2561:18: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 2561 | u32_to_le(v->pos, x + 12); | ~~~~~~~~~ ~~~^~~ vcf.c:2562:18: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 2562 | u32_to_le(v->rlen, x + 16); | ~~~~~~~~~ ~~~^~~~ vcf.c:2776:27: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2776 | if ( len ) *len = txt.l; | ~ ~~~~^ vcf.c:2834:15: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 2834 | ret = bgzf_write(fp->fp.bgzf, htxt.s, htxt.l); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:2837:15: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 2837 | ret = hwrite(fp->fp.hfile, htxt.s, htxt.l); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:2901:27: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 2901 | else *p = a[i]; | ~ ^~~~ vcf.c:2915:26: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 2915 | else x = a[i]; | ~ ^~~~ vcf.c:3218:20: warning: implicit conversion loses integer precision: 'const uint64_t' (aka 'const unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 3218 | fmt[j].y = h->id[0][fmt[j].key].val->info[BCF_HL_FMT]; | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:3283:23: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 3283 | l = r - r_start; r_start = r; | ~ ~~^~~~~~~~~ vcf.c:3351:26: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 3351 | f->offset = mem->l; | ~ ~~~~~^ vcf.c:3557:41: warning: implicit conversion loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 3557 | float tmp_val = hts_str2dbl(t, &te, &overflow); | ~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:3471:39: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 3471 | val = hts_str2uint(t, (char **)&t, | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3472 | sizeof(val) * CHAR_MAX - 2, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3473 | &overflow); | ~~~~~~~~~~ vcf.c:3537:34: warning: implicit conversion loses integer precision: 'long' to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 3537 | x[l++] = tmp_val; | ~ ^~~~~~~ vcf.c:3987:32: warning: implicit conversion loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 3987 | val_f[i] = hts_str2dbl(t, &te, &overflow); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:3888:22: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 3888 | uint32_t y = kh_val(d, k).info[BCF_HL_INFO]; | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/khash.h:647:22: note: expanded from macro 'kh_val' 647 | #define kh_val(h, x) ((h)->vals[x]) | ^ vcf.c:3894:36: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 3894 | bcf_enc_vchar(str, end - val, val); | ~~~~~~~~~~~~~ ~~~~^~~~~ vcf.c:3951:32: warning: implicit conversion loses integer precision: 'long' to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 3951 | a_val[i] = tmp_val; | ~ ^~~~~~~ vcf.c:4131:31: warning: implicit conversion loses floating-point precision: 'double' to 'float' [-Wimplicit-float-conversion] 4131 | if (NOT_DOT(p)) v->qual = atof(p); | ~ ^~~~~~~ vcf.c:4093:42: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 4093 | if (NOT_DOT(p)) bcf_enc_vchar(str, q - p, p); | ~~~~~~~~~~~~~ ~~^~~ vcf.c:4101:26: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 4101 | bcf_enc_vchar(str, q - p, p); | ~~~~~~~~~~~~~ ~~^~~ vcf.c:4118:38: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 4118 | bcf_enc_vchar(str, r - t, t); | ~~~~~~~~~~~~~ ~~^~~ vcf.c:4204:15: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 4204 | fmt->id = bcf_dec_typed_int1(ptr, &ptr); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:4208:23: warning: implicit conversion loses integer precision: 'long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 4208 | fmt->p_off = ptr - ptr_start; | ~ ~~~~^~~~~~~~~~~ vcf.c:4211:22: warning: implicit conversion loses integer precision: 'long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 4211 | fmt->p_len = ptr - fmt->p; | ~ ~~~~^~~~~~~~ vcf.c:4219:17: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 4219 | info->key = bcf_dec_typed_int1(ptr, &ptr); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:4222:27: warning: implicit conversion loses integer precision: 'long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 4222 | info->vptr_off = ptr - ptr_start; | ~ ~~~~^~~~~~~~~~~ vcf.c:4253:26: warning: implicit conversion loses integer precision: 'long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 4253 | info->vptr_len = ptr - info->vptr; | ~ ~~~~^~~~~~~~~~~~ vcf.c:4273:33: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 4273 | b->unpack_size[0] = ptr - ptr_ori; | ~ ~~~~^~~~~~~~~ vcf.c:4275:38: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 4275 | d->id = tmp.s; d->m_id = tmp.m; | ~ ~~~~^ vcf.c:4278:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 4278 | hts_expand(char*, b->n_allele, d->m_allele, d->allele); // NM: hts_expand() is a macro | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:4287:33: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 4287 | b->unpack_size[1] = ptr - ptr_ori; | ~ ~~~~^~~~~~~~~ vcf.c:4288:40: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 4288 | d->als = tmp.s; d->m_als = tmp.m; | ~ ~~~~^ vcf.c:4301:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 4301 | hts_expand(int, d->n_flt, d->m_flt, d->flt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:4303:29: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 4303 | d->flt[i] = bcf_dec_int1(ptr, type, &ptr); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:4305:33: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 4305 | b->unpack_size[2] = ptr - ptr_ori; | ~ ~~~~^~~~~~~~~ vcf.c:4310:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 4310 | hts_expand(bcf_info_t, b->n_info, d->m_info, d->info); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:4318:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 4318 | hts_expand(bcf_fmt_t, b->n_fmt, d->m_fmt, d->fmt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:4411:27: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 4411 | z->key = bcf_dec_typed_int1(ptr, &ptr); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:4468:34: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 4468 | kputc_(z->v1.i, s); | ~~~~~~ ~~~~~~^ vcf.c:4479:37: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 4479 | kputw(z->v1.i, s); | ~~~~~ ~~~~~~^ vcf.c:4522:31: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 4522 | z->id = bcf_dec_typed_int1(ptr, &ptr); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:4604:15: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 4604 | ret = bgzf_write(fp->fp.bgzf, line->s, line->l); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:4606:15: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 4606 | ret = hwrite(fp->fp.hfile, line->s, line->l); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:5157:51: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 5157 | if ( dst_size==BCF_BT_INT8 ) { p[1] = dst_id; } | ~ ^~~~~~ vcf.c:5158:60: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 5158 | else if ( dst_size==BCF_BT_INT16 ) { i16_to_le(dst_id, p + 1); } | ~~~~~~~~~ ^~~~~~ vcf.c:5134:37: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 5134 | uint32_t vptr_off = str.l; | ~~~~~~~~ ~~~~^ vcf.c:5167:34: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 5167 | uint32_t p_off = str.l; | ~~~~~ ~~~~^ vcf.c:5469:18: warning: implicit conversion loses integer precision: 'long' to 'int' on negation [-Wimplicit-int-conversion-on-negation] 5469 | var->n = -(re-r); | ~ ^~~~~~~ vcf.c:5481:32: warning: implicit conversion loses integer precision: 'long' to 'int' on negation [-Wimplicit-int-conversion-on-negation] 5481 | var->n = ( re-r > ae-a ) ? -(re-r+1) : ae-a+1; | ~ ^~~~~~~~~ vcf.c:5449:25: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 5449 | var->n = (a-alt)-(r-ref); var->type = VCF_INDEL | VCF_INS; return; | ~ ~~~~~~~^~~~~~~~ vcf.c:5454:25: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 5454 | var->n = (a-alt)-(r-ref); var->type = VCF_INDEL | VCF_DEL; return; | ~ ~~~~~~~^~~~~~~~ vcf.c:5475:20: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 5475 | var->n = ae-a; | ~ ~~^~ vcf.c:5481:48: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 5481 | var->n = ( re-r > ae-a ) ? -(re-r+1) : ae-a+1; | ~ ~~~~^~ vcf.c:5654:33: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 5654 | bcf_enc_vchar(&str, strlen((char*)values), (char*)values); | ~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~ vcf.c:5699:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 5699 | hts_expand0(bcf_info_t, line->n_info, line->d.m_info , line->d.info); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts.h:122:19: note: expanded from macro 'hts_expand0' 122 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | sizeof(type_t), 1, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:5735:19: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 5735 | int len = strlen(values[i]); | ~~~ ^~~~~~~~~~~~~~~~~ vcf.c:5820:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 5820 | hts_expand0(bcf_fmt_t, line->n_fmt, line->d.m_fmt, line->d.fmt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts.h:122:19: note: expanded from macro 'hts_expand0' 122 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | sizeof(type_t), 1, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:5873:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 5873 | hts_expand(int, line->d.n_flt, line->d.m_flt, line->d.flt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:5894:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 5894 | hts_expand(int, line->d.n_flt, line->d.m_flt, line->d.flt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:5933:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 5933 | hts_expand(char*, line->n_allele, line->d.m_allele, line->d.allele); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:5991:25: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 5991 | line->d.m_als = needed; | ~ ^~~~~~ vcf.c:6019:46: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 6019 | line->d.als = tmp.s; line->d.m_als = tmp.m; | ~ ~~~~^ vcf.c:6040:44: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 6040 | line->d.id = tmp.s; line->d.m_id = tmp.m; | ~ ~~~~^ vcf.c:6053:15: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 6053 | int len = strlen(id); | ~~~ ^~~~~~~~~~ vcf.c:6068:44: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 6068 | line->d.id = tmp.s; line->d.m_id = tmp.m; | ~ ~~~~^ vcf.c:6539:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 6539 | id = bcf_dec_typed_int1(f, &t); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~ vcf.c:6573:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 6573 | id = bcf_dec_typed_int1(f, &t); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~ 116 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o vcfutils.o vcfutils.c In file included from vcfutils.c:29: In file included from ./htslib/vcfutils.h:29: In file included from ./htslib/vcf.h:39: In file included from ./htslib/hts.h:37: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from vcfutils.c:29: In file included from ./htslib/vcfutils.h:29: In file included from ./htslib/vcf.h:39: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from vcfutils.c:29: In file included from ./htslib/vcfutils.h:29: In file included from ./htslib/vcf.h:42: ./htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from vcfutils.c:29: In file included from ./htslib/vcfutils.h:29: ./htslib/vcf.h:1579:26: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1579 | *p++ = (size<<4) | type; | ~ ~~~~~~~~~~^~~~~~ ./htslib/vcf.h:1587:17: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1587 | *p++ = 15<<4|type; | ~ ~~~~~^~~~~ ./htslib/vcf.h:1591:16: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1591 | *p++ = size; | ~ ^~~~ ./htslib/vcf.h:1596:23: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1596 | i16_to_le(size, p); | ~~~~~~~~~ ^~~~ ./htslib/vcf.h:1632:16: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1632 | p[1] = x; | ~ ^ ./htslib/vcf.h:1636:19: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1636 | i16_to_le(x, p+1); | ~~~~~~~~~ ^ ./htslib/vcf.h:1708:19: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1708 | } else return bcf_dec_typed_int1(p + 1, q); | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ vcfutils.c:51:51: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 51 | if ( z->key == an_id ) an = z->v1.i; | ~ ~~~~~~^ vcfutils.c:309:16: warning: implicit conversion turns floating-point number into integer: 'float' to 'int32_t' (aka 'int') [-Wfloat-conversion] 309 | return f; | ~~~~~~ ^ vcfutils.c:356:23: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 356 | *ptr++ = (1 << 4) | type; | ~ ~~~~~~~~~^~~~~~ vcfutils.c:362:35: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 362 | *ptr++ = (info->len << 4) | info->type; | ~ ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ vcfutils.c:366:23: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 366 | *ptr++ = 0xf0 | info->type; | ~ ~~~~~^~~~~~~~~~~~ vcfutils.c:368:27: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 368 | *ptr++ = (1 << 4) | type; | ~ ~~~~~~~~~^~~~~~ vcfutils.c:401:26: warning: implicit conversion loses integer precision: 'ptrdiff_t' (aka 'long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 401 | info->vptr_off = new_len; | ~ ^~~~~~~ vcfutils.c:471:39: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 471 | if (kbs_exists(rm_set, allele + 1)) // Skip | ~~~~~~~~~~ ~~~~~~~^~~ vcfutils.c:488:22: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 488 | info->vptr_len = new_pos; | ~ ^~~~~~~ vcfutils.c:533:39: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 533 | if (kbs_exists(rm_set, allele + 1)) // Skip | ~~~~~~~~~~ ~~~~~~~^~~ vcfutils.c:555:21: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 555 | info->len = new_pos; | ~ ^~~~~~~ vcfutils.c:556:26: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 556 | info->vptr_len = new_pos; | ~ ^~~~~~~ vcfutils.c:832:112: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 832 | nret = bcf_update_info(header, line, bcf_hdr_int2id(header,BCF_DT_ID,info->key), (void*)str.s, str.l, type); | ~~~~~~~~~~~~~~~ ~~~~^ vcfutils.c:1143:55: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1143 | int k_src = 0, k_dst = 0, l = str.l; | ~ ~~~~^ vcfutils.c:1170:31: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1170 | l = str.l - l; | ~ ~~~~~~^~~ vcfutils.c:1179:55: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1179 | int k_src = 0, k_dst = 0, l = str.l; | ~ ~~~~^ vcfutils.c:1257:31: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1257 | l = str.l - l; | ~ ~~~~~~^~~ vcfutils.c:1261:112: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1261 | nret = bcf_update_format(header, line, bcf_hdr_int2id(header,BCF_DT_ID,fmt->id), (void*)str.s, str.l, type); | ~~~~~~~~~~~~~~~~~ ~~~~^ 37 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o cram/cram_codecs.o cram/cram_codecs.c In file included from cram/cram_codecs.c:52: cram/../htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ cram/../htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ cram/../htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from cram/cram_codecs.c:59: cram/../htscodecs/htscodecs/varint.h:88:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 88 | return cp-op; | ~~~~~~ ~~^~~ cram/../htscodecs/htscodecs/varint.h:101:15: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 101 | *cp = i; | ~ ^ cram/../htscodecs/htscodecs/varint.h:202:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 202 | return cp-op; | ~~~~~~ ~~^~~ cram/../htscodecs/htscodecs/varint.h:211:15: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 211 | *cp = i; | ~ ^ cram/../htscodecs/htscodecs/varint.h:263:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 263 | return cp-op; | ~~~~~~ ~~^~~ cram/../htscodecs/htscodecs/varint.h:298:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 298 | return cp-op; | ~~~~~~ ~~^~~ In file included from cram/cram_codecs.c:64: In file included from cram/cram.h:45: In file included from cram/cram_samtools.h:59: In file included from cram/../htslib/sam.h:33: In file included from cram/../htslib/hts.h:37: cram/../htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ cram/../htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ cram/../htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ cram/../htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ cram/../htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ cram/../htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ cram/../htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ cram/../htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from cram/cram_codecs.c:64: In file included from cram/cram.h:45: In file included from cram/cram_samtools.h:59: In file included from cram/../htslib/sam.h:33: cram/../htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from cram/cram_codecs.c:64: In file included from cram/cram.h:48: cram/cram_io.h:301:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 301 | if ((j = i / 1000000000)) {*cp++ = j + '0'; i -= j*1000000000; goto x8;} | ~ ~~^~~~~ cram/cram_io.h:302:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 302 | if ((j = i / 100000000)) {*cp++ = j + '0'; i -= j*100000000; goto x7;} | ~ ~~^~~~~ cram/cram_io.h:303:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 303 | b7:if ((j = i / 10000000)) {*cp++ = j + '0'; i -= j*10000000; goto x6;} | ~ ~~^~~~~ cram/cram_io.h:304:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 304 | if ((j = i / 1000000)) {*cp++ = j + '0', i -= j*1000000; goto x5;} | ~ ~~^~~~~ cram/cram_io.h:305:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 305 | b5:if ((j = i / 100000)) {*cp++ = j + '0', i -= j*100000; goto x4;} | ~ ~~^~~~~ cram/cram_io.h:306:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 306 | if ((j = i / 10000)) {*cp++ = j + '0', i -= j*10000; goto x3;} | ~ ~~^~~~~ cram/cram_io.h:307:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 307 | b3:if ((j = i / 1000)) {*cp++ = j + '0', i -= j*1000; goto x2;} | ~ ~~^~~~~ cram/cram_io.h:308:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 308 | if ((j = i / 100)) {*cp++ = j + '0', i -= j*100; goto x1;} | ~ ~~^~~~~ cram/cram_io.h:309:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 309 | b1:if ((j = i / 10)) {*cp++ = j + '0', i -= j*10; goto x0;} | ~ ~~^~~~~ cram/cram_io.h:310:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 310 | if (i) *cp++ = i + '0'; | ~ ~~^~~~~ cram/cram_io.h:314:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 314 | x7: *cp++ = i / 10000000 + '0', i %= 10000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:315:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 315 | x6: *cp++ = i / 1000000 + '0', i %= 1000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:316:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 316 | x5: *cp++ = i / 100000 + '0', i %= 100000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:317:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 317 | x4: *cp++ = i / 10000 + '0', i %= 10000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:318:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 318 | x3: *cp++ = i / 1000 + '0', i %= 1000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:319:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 319 | x2: *cp++ = i / 100 + '0', i %= 100; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:320:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 320 | x1: *cp++ = i / 10 + '0', i %= 10; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:321:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 321 | x0: *cp++ = i + '0'; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:328:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 328 | *cp++ = i / 10000000 + '0', i %= 10000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:329:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 329 | *cp++ = i / 1000000 + '0', i %= 1000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:330:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 330 | *cp++ = i / 100000 + '0', i %= 100000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:331:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 331 | *cp++ = i / 10000 + '0', i %= 10000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:332:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 332 | *cp++ = i / 1000 + '0', i %= 1000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:333:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 333 | *cp++ = i / 100 + '0', i %= 100; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:334:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 334 | *cp++ = i / 10 + '0', i %= 10; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:335:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 335 | *cp++ = i + '0'; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:344:34: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 344 | return append_uint32(cp, i); | ~~~~~~~~~~~~~ ^ cram/cram_io.h:347:33: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 347 | cp = append_uint32(cp, j/1000000000); | ~~~~~~~~~~~~~ ~^~~~~~~~~~~ cram/cram_io.h:349:31: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 349 | cp = append_sub32(cp, j); | ~~~~~~~~~~~~ ^ cram/cram_io.h:351:34: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 351 | cp = append_uint32(cp, i / 1000000000); | ~~~~~~~~~~~~~ ~~^~~~~~~~~~~~ cram/cram_codecs.c:361:23: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 361 | *(int32_t *)out = c->vv->varint_get32(&cp, (char *)b->data + b->uncomp_size, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_codecs.c:362:17: warning: implicit conversion loses integer precision: 'long' to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 362 | b->idx = cp - (char *)b->data; | ~ ~~~^~~~~~~~~~~~~~~~~ cram/cram_codecs.c:382:17: warning: implicit conversion loses integer precision: 'long' to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 382 | b->idx = cp - (char *)b->data; | ~ ~~~^~~~~~~~~~~~~~~~~ cram/cram_codecs.c:489:32: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 489 | c->u.external.content_id = vv->varint_get32(&cp, data+size, NULL); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_codecs.c:556:46: warning: implicit conversion loses integer precision: 'long' to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 556 | len += (n = c->vv->varint_put32_blk(b, tp-tmp)); r |= n; | ~ ~~^~~~ cram/cram_codecs.c:593:34: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 593 | c->u.e_external.content_id = (size_t)dat; | ~ ^~~~~~~~~~~ cram/cram_codecs.c:629:58: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 629 | out_i[i] = get_bits_MSB(in, c->u.beta.nbits) - c->u.beta.offset; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cram/cram_codecs.c:648:60: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'char' [-Wimplicit-int-conversion] 648 | out[i] = get_bits_MSB(in, c->u.beta.nbits) - c->u.beta.offset; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cram/cram_codecs.c:655:26: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'char' on negation [-Wimplicit-int-conversion-on-negation] 655 | out[i] = -c->u.beta.offset; | ~ ^~~~~~~~~~~~~~~~~ cram/cram_codecs.c:699:24: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 699 | c->u.beta.offset = vv->varint_get32(&cp, data + size, NULL); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_codecs.c:701:28: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 701 | c->u.beta.nbits = vv->varint_get32(&cp, data + size, NULL); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_codecs.c:845:26: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int32_t' (aka 'int') on negation [-Wimplicit-int-conversion-on-negation] 845 | c->u.e_beta.offset = -min_val; | ~ ^~~~~~~~ cram/cram_codecs.c:822:21: warning: implicit conversion loses integer precision: 'khint64_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 822 | i = kh_key(st->h, k); | ~ ^~~~~~~~~~~~~~~~ cram/../htslib/khash.h:638:23: note: expanded from macro 'kh_key' 638 | #define kh_key(h, x) ((h)->keys[x]) | ^~~~~~~~~~~~ cram/cram_codecs.c:940:26: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 940 | c->u.subexp.offset = vv->varint_get32(&cp, data + size, NULL); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_codecs.c:941:26: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 941 | c->u.subexp.k = vv->varint_get32(&cp, data + size, NULL); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_codecs.c:1014:25: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1014 | c->u.gamma.offset = vv->varint_get32(&cp, data+size, NULL); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_codecs.c:1065:40: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'char' [-Wimplicit-int-conversion] 1065 | out[i] = c->u.huffman.codes[0].symbol; | ~ ~~~~~~~~~~~~~~~~~~~~~~^~~~~~ cram/cram_codecs.c:1096:46: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'char' [-Wimplicit-int-conversion] 1096 | if (out) out[i] = codes[idx].symbol; | ~ ~~~~~~~~~~~^~~~~~ cram/cram_codecs.c:1113:29: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1113 | out_i[i] = codes[0].symbol; | ~ ~~~~~~~~~^~~~~~ cram/cram_codecs.c:1146:39: warning: implicit conversion loses integer precision: 'const int64_t' (aka 'const long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1146 | out_i[i] = codes[idx].symbol; | ~ ~~~~~~~~~~~^~~~~~ cram/cram_codecs.c:1243:14: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1243 | ncodes = vv->varint_get32(&cp, data_end, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_codecs.c:1291:9: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1291 | i = vv->varint_get32(&cp, data_end, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_codecs.c:1303:24: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1303 | codes[i].len = vv->varint_get32(&cp, data_end, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_codecs.c:1483:19: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1483 | int sym = *syms++; | ~~~ ^~~~~~~ cram/cram_codecs.c:1554:59: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1554 | tp += c->vv->varint_put32(tp, tpend, codes[i].symbol); | ~ ~~~~~~~~~^~~~~~ cram/cram_codecs.c:1565:46: warning: implicit conversion loses integer precision: 'long' to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1565 | len += (n = c->vv->varint_put32_blk(b, tp-tmp)); r |= n; | ~ ~~^~~~ cram/cram_codecs.c:1630:26: warning: implicit conversion loses integer precision: 'khint64_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1630 | vals[nvals]= kh_key(st->h, k); | ~ ^~~~~~~~~~~~~~~~ cram/../htslib/khash.h:638:23: note: expanded from macro 'kh_key' 638 | #define kh_key(h, x) ((h)->keys[x]) | ^~~~~~~~~~~~ cram/cram_codecs.c:1665:22: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1665 | lens[ind1] = nvals; | ~ ^~~~~ cram/cram_codecs.c:1666:22: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1666 | lens[ind2] = nvals; | ~ ^~~~~ cram/cram_codecs.c:1733:28: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1733 | c->u.e_huffman.nvals = nvals; | ~ ^~~~~ cram/cram_codecs.c:1849:20: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1849 | int encoding = vv->varint_get32(&cp, endp, NULL); | ~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_codecs.c:1850:20: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1850 | int sub_size = vv->varint_get32(&cp, endp, NULL); | ~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_codecs.c:1859:16: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1859 | encoding = vv->varint_get32(&cp, endp, NULL); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_codecs.c:1860:16: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1860 | sub_size = vv->varint_get32(&cp, endp, NULL); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_codecs.c:2022:20: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 2022 | *out_size = cp - (b->data + b->idx); | ~ ~~~^~~~~~~~~~~~~~~~~~~~ cram/cram_codecs.c:2023:27: warning: implicit conversion loses integer precision: 'long' to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 2023 | b->idx = cp - b->data + 1; | ~ ~~~~~~~~~~~~~^~~ cram/cram_codecs.c:2062:20: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 2062 | *out_size = cp - (b->data + b->idx); | ~ ~~~^~~~~~~~~~~~~~~~~~~~ cram/cram_codecs.c:2063:27: warning: implicit conversion loses integer precision: 'long' to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 2063 | b->idx = cp - b->data + 1; | ~ ~~~~~~~~~~~~~^~~ cram/cram_codecs.c:2121:43: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 2121 | c->u.byte_array_stop.content_id = vv->varint_get32((char **)&cp, data+size, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_codecs.c:2203:35: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 2203 | c->u.e_byte_array_stop.stop = ((int *)dat)[0]; | ~ ^~~~~~~~~~~~~~~ cram/cram_codecs.c:2406:51: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 2406 | int32_t sym = t->u.e_huffman.codes[j].symbol; | ~~~ ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ 89 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o cram/cram_decode.o cram/cram_decode.c In file included from cram/cram_decode.c:51: In file included from cram/cram.h:45: In file included from cram/cram_samtools.h:59: In file included from cram/../htslib/sam.h:33: In file included from cram/../htslib/hts.h:37: cram/../htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ cram/../htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ cram/../htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ cram/../htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ cram/../htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ cram/../htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ cram/../htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ cram/../htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from cram/cram_decode.c:51: In file included from cram/cram.h:45: In file included from cram/cram_samtools.h:59: In file included from cram/../htslib/sam.h:33: cram/../htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from cram/cram_decode.c:51: In file included from cram/cram.h:45: In file included from cram/cram_samtools.h:59: In file included from cram/../htslib/sam.h:34: cram/../htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ cram/../htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ cram/../htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from cram/cram_decode.c:51: In file included from cram/cram.h:48: cram/cram_io.h:301:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 301 | if ((j = i / 1000000000)) {*cp++ = j + '0'; i -= j*1000000000; goto x8;} | ~ ~~^~~~~ cram/cram_io.h:302:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 302 | if ((j = i / 100000000)) {*cp++ = j + '0'; i -= j*100000000; goto x7;} | ~ ~~^~~~~ cram/cram_io.h:303:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 303 | b7:if ((j = i / 10000000)) {*cp++ = j + '0'; i -= j*10000000; goto x6;} | ~ ~~^~~~~ cram/cram_io.h:304:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 304 | if ((j = i / 1000000)) {*cp++ = j + '0', i -= j*1000000; goto x5;} | ~ ~~^~~~~ cram/cram_io.h:305:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 305 | b5:if ((j = i / 100000)) {*cp++ = j + '0', i -= j*100000; goto x4;} | ~ ~~^~~~~ cram/cram_io.h:306:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 306 | if ((j = i / 10000)) {*cp++ = j + '0', i -= j*10000; goto x3;} | ~ ~~^~~~~ cram/cram_io.h:307:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 307 | b3:if ((j = i / 1000)) {*cp++ = j + '0', i -= j*1000; goto x2;} | ~ ~~^~~~~ cram/cram_io.h:308:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 308 | if ((j = i / 100)) {*cp++ = j + '0', i -= j*100; goto x1;} | ~ ~~^~~~~ cram/cram_io.h:309:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 309 | b1:if ((j = i / 10)) {*cp++ = j + '0', i -= j*10; goto x0;} | ~ ~~^~~~~ cram/cram_io.h:310:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 310 | if (i) *cp++ = i + '0'; | ~ ~~^~~~~ cram/cram_io.h:314:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 314 | x7: *cp++ = i / 10000000 + '0', i %= 10000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:315:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 315 | x6: *cp++ = i / 1000000 + '0', i %= 1000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:316:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 316 | x5: *cp++ = i / 100000 + '0', i %= 100000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:317:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 317 | x4: *cp++ = i / 10000 + '0', i %= 10000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:318:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 318 | x3: *cp++ = i / 1000 + '0', i %= 1000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:319:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 319 | x2: *cp++ = i / 100 + '0', i %= 100; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:320:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 320 | x1: *cp++ = i / 10 + '0', i %= 10; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:321:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 321 | x0: *cp++ = i + '0'; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:328:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 328 | *cp++ = i / 10000000 + '0', i %= 10000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:329:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 329 | *cp++ = i / 1000000 + '0', i %= 1000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:330:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 330 | *cp++ = i / 100000 + '0', i %= 100000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:331:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 331 | *cp++ = i / 10000 + '0', i %= 10000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:332:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 332 | *cp++ = i / 1000 + '0', i %= 1000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:333:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 333 | *cp++ = i / 100 + '0', i %= 100; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:334:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 334 | *cp++ = i / 10 + '0', i %= 10; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:335:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 335 | *cp++ = i + '0'; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:344:34: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 344 | return append_uint32(cp, i); | ~~~~~~~~~~~~~ ^ cram/cram_io.h:347:33: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 347 | cp = append_uint32(cp, j/1000000000); | ~~~~~~~~~~~~~ ~^~~~~~~~~~~ cram/cram_io.h:349:31: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 349 | cp = append_sub32(cp, j); | ~~~~~~~~~~~~ ^ cram/cram_io.h:351:34: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 351 | cp = append_uint32(cp, i / 1000000000); | ~~~~~~~~~~~~~ ~~^~~~~~~~~~~~ In file included from cram/cram_decode.c:55: cram/../htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ cram/cram_decode.c:92:16: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 92 | blk_size = fd->vv.varint_get32(&cp, endp, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:96:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 96 | return cp - op; | ~~~~~~ ~~~^~~~ cram/cram_decode.c:106:13: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 106 | sz = cp - op; | ~ ~~~^~~~ cram/cram_decode.c:509:24: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 509 | key[0] = m->key>>16; | ~ ~~~~~~^~~~ cram/cram_decode.c:510:24: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 510 | key[1] = m->key>>8; | ~ ~~~~~~^~~ cram/cram_decode.c:511:21: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 511 | key[2] = m->key; | ~ ~~~^~~ cram/cram_decode.c:167:27: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 167 | hdr->ref_seq_id = fd->vv.varint_get32(&cp, endp, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:170:30: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 170 | hdr->num_records = fd->vv.varint_get32(&cp, endp, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:171:30: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 171 | hdr->num_landmarks = fd->vv.varint_get32(&cp, endp, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:183:32: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 183 | hdr->landmark[i] = fd->vv.varint_get32(&cp, endp, &err);; | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:205:17: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 205 | map_size = fd->vv.varint_get32(&cp, endp, &err); cp_copy = cp; | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:206:17: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 206 | map_count = fd->vv.varint_get32(&cp, endp, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:345:17: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 345 | map_size = fd->vv.varint_get32(&cp, endp, &err); cp_copy = cp; | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:346:17: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 346 | map_count = fd->vv.varint_get32(&cp, endp, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:362:20: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 362 | encoding = fd->vv.varint_get32(&cp, endp, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:363:20: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 363 | size = fd->vv.varint_get32(&cp, endp, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:482:23: warning: implicit conversion loses integer precision: 'ptrdiff_t' (aka 'long') to 'int' [-Wshorten-64-to-32] 482 | m->offset = offset; | ~ ^~~~~~ cram/cram_decode.c:494:17: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 494 | map_size = fd->vv.varint_get32(&cp, endp, &err); cp_copy = cp; | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:495:17: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 495 | map_count = fd->vv.varint_get32(&cp, endp, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:508:18: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 508 | m->key = fd->vv.varint_get32(&cp, endp, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:512:20: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 512 | encoding = fd->vv.varint_get32(&cp, endp, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:513:20: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 513 | size = fd->vv.varint_get32(&cp, endp, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:517:26: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 517 | m->offset = cp - (char *)b->data; | ~ ~~~^~~~~~~~~~~~~~~~~ cram/cram_decode.c:975:27: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 975 | hdr->ref_seq_id = fd->vv.varint_get32s((char **)&cp, (char *)cp_end, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:987:24: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 987 | hdr->num_records = fd->vv.varint_get32((char **)&cp, (char *) cp_end, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:994:28: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 994 | hdr->num_blocks = fd->vv.varint_get32((char **)&cp, (char *)cp_end, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:995:28: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 995 | hdr->num_content_ids = fd->vv.varint_get32((char **)&cp, (char *)cp_end, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:1010:37: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1010 | hdr->block_content_ids[i] = fd->vv.varint_get32((char **)&cp, | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1011 | (char *)cp_end, | ~~~~~~~~~~~~~~~ 1012 | &err); | ~~~~~ cram/cram_decode.c:1020:28: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1020 | hdr->ref_base_id = fd->vv.varint_get32((char **)&cp, (char *) cp_end, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:1121:20: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1121 | orig_aux = BLOCK_SIZE(s->aux_blk); | ~ ^~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_decode.c:1206:53: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1206 | rlen = bfd->ref[cr->ref_id].len - ref_pos; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ cram/cram_decode.c:1430:40: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 1430 | dlen = i32 - (bfd->ref[cr->ref_id].len - ref_pos); | ~ ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:1708:49: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1708 | rlen = bfd->ref[cr->ref_id].len - ref_pos; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ cram/cram_decode.c:1732:52: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1732 | int j = ref_pos - s->ref_start + 1; | ~ ~~~~~~~~~~~~~~~~~~~~~~~^~~ cram/cram_decode.c:1742:53: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 1742 | int i_start = seq_pos-1 + (N - &s->ref[j]); | ~~~~~~~ ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cram/cram_decode.c:1940:15: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 1940 | cr->aux = BLOCK_SIZE(s->aux_blk); | ~ ^~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_decode.c:2020:35: warning: implicit conversion loses integer precision: 'unsigned long' to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 2020 | cr->ntags = strlen((char *)TN)/3; // optimise to remove strlen | ~ ~~~~~~~~~~~~~~~~~~^~ cram/cram_decode.c:2024:15: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 2024 | cr->aux = BLOCK_SIZE(s->aux_blk); | ~ ^~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_decode.c:2035:50: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2035 | *has_MD = (BLOCK_SIZE(s->aux_blk)+3) * (TN[2] == '*' ? -1 : 1); | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:2037:50: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2037 | *has_NM = (BLOCK_SIZE(s->aux_blk)+3) * (TN[2] == '*' ? -1 : 1);; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_decode.c:2605:26: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'unsigned char' [-Wimplicit-int-conversion] 2605 | cf = cr->cram_flags; | ~ ~~~~^~~~~~~~~~ cram/cram_decode.c:2503:47: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 2503 | start = s->hdr->ref_seq_start - s->ref_start; | ~ ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ cram/cram_decode.c:2511:31: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 2511 | len = s->hdr->ref_seq_span; | ~ ~~~~~~~~^~~~~~~~~~~~ cram/cram_decode.c:2515:49: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 2515 | len = s->ref_end - s->ref_start + 1; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ cram/cram_decode.c:2521:53: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 2521 | len = s->ref_end - s->ref_start + 1 - start; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ cram/cram_decode.c:2736:24: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 2736 | cr->name = BLOCK_SIZE(s->name_blk); | ~ ^~~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_decode.c:2783:28: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 2783 | cr->name = BLOCK_SIZE(s->name_blk); | ~ ^~~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_decode.c:2904:23: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 2904 | cr->seq = BLOCK_SIZE(s->seqs_blk); | ~ ^~~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_decode.c:2912:24: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 2912 | cr->qual = BLOCK_SIZE(s->qual_blk); | ~ ^~~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_decode.c:3203:61: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 3201 | ret = bam_set1(bam, | ~~~~~~~~ 3202 | name_len, name, 3203 | cr->flags, cr->ref_id, cr->apos - 1, cr->mqual, | ~~~~^~~~~ cram/cram_decode.c:3203:24: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 3201 | ret = bam_set1(bam, | ~~~~~~~~ 3202 | name_len, name, 3203 | cr->flags, cr->ref_id, cr->apos - 1, cr->mqual, | ~~~~^~~~~ cram/cram_decode.c:3153:28: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 3153 | name_len = strlen(fd->prefix); | ~ ^~~~~~~~~~~~~~~~~~ cram/cram_decode.c:3171:29: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 3171 | name_len = name - name_a; | ~ ~~~~~^~~~~~~~ 96 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o cram/cram_encode.o cram/cram_encode.c In file included from cram/cram_encode.c:47: In file included from cram/cram.h:45: In file included from cram/cram_samtools.h:59: In file included from cram/../htslib/sam.h:33: In file included from cram/../htslib/hts.h:37: cram/../htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ cram/../htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ cram/../htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ cram/../htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ cram/../htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ cram/../htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ cram/../htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ cram/../htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from cram/cram_encode.c:47: In file included from cram/cram.h:45: In file included from cram/cram_samtools.h:59: In file included from cram/../htslib/sam.h:33: cram/../htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from cram/cram_encode.c:47: In file included from cram/cram.h:45: In file included from cram/cram_samtools.h:59: In file included from cram/../htslib/sam.h:34: cram/../htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ cram/../htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ cram/../htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from cram/cram_encode.c:47: In file included from cram/cram.h:48: cram/cram_io.h:301:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 301 | if ((j = i / 1000000000)) {*cp++ = j + '0'; i -= j*1000000000; goto x8;} | ~ ~~^~~~~ cram/cram_io.h:302:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 302 | if ((j = i / 100000000)) {*cp++ = j + '0'; i -= j*100000000; goto x7;} | ~ ~~^~~~~ cram/cram_io.h:303:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 303 | b7:if ((j = i / 10000000)) {*cp++ = j + '0'; i -= j*10000000; goto x6;} | ~ ~~^~~~~ cram/cram_io.h:304:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 304 | if ((j = i / 1000000)) {*cp++ = j + '0', i -= j*1000000; goto x5;} | ~ ~~^~~~~ cram/cram_io.h:305:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 305 | b5:if ((j = i / 100000)) {*cp++ = j + '0', i -= j*100000; goto x4;} | ~ ~~^~~~~ cram/cram_io.h:306:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 306 | if ((j = i / 10000)) {*cp++ = j + '0', i -= j*10000; goto x3;} | ~ ~~^~~~~ cram/cram_io.h:307:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 307 | b3:if ((j = i / 1000)) {*cp++ = j + '0', i -= j*1000; goto x2;} | ~ ~~^~~~~ cram/cram_io.h:308:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 308 | if ((j = i / 100)) {*cp++ = j + '0', i -= j*100; goto x1;} | ~ ~~^~~~~ cram/cram_io.h:309:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 309 | b1:if ((j = i / 10)) {*cp++ = j + '0', i -= j*10; goto x0;} | ~ ~~^~~~~ cram/cram_io.h:310:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 310 | if (i) *cp++ = i + '0'; | ~ ~~^~~~~ cram/cram_io.h:314:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 314 | x7: *cp++ = i / 10000000 + '0', i %= 10000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:315:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 315 | x6: *cp++ = i / 1000000 + '0', i %= 1000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:316:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 316 | x5: *cp++ = i / 100000 + '0', i %= 100000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:317:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 317 | x4: *cp++ = i / 10000 + '0', i %= 10000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:318:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 318 | x3: *cp++ = i / 1000 + '0', i %= 1000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:319:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 319 | x2: *cp++ = i / 100 + '0', i %= 100; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:320:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 320 | x1: *cp++ = i / 10 + '0', i %= 10; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:321:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 321 | x0: *cp++ = i + '0'; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:328:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 328 | *cp++ = i / 10000000 + '0', i %= 10000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:329:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 329 | *cp++ = i / 1000000 + '0', i %= 1000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:330:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 330 | *cp++ = i / 100000 + '0', i %= 100000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:331:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 331 | *cp++ = i / 10000 + '0', i %= 10000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:332:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 332 | *cp++ = i / 1000 + '0', i %= 1000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:333:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 333 | *cp++ = i / 100 + '0', i %= 100; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:334:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 334 | *cp++ = i / 10 + '0', i %= 10; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:335:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 335 | *cp++ = i + '0'; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:344:34: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 344 | return append_uint32(cp, i); | ~~~~~~~~~~~~~ ^ cram/cram_io.h:347:33: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 347 | cp = append_uint32(cp, j/1000000000); | ~~~~~~~~~~~~~ ~^~~~~~~~~~~ cram/cram_io.h:349:31: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 349 | cp = append_sub32(cp, j); | ~~~~~~~~~~~~ ^ cram/cram_io.h:351:34: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 351 | cp = append_uint32(cp, i / 1000000000); | ~~~~~~~~~~~~~ ~~^~~~~~~~~~~~ In file included from cram/cram_encode.c:53: cram/../textutils_internal.h:179:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 179 | static inline char tolower_c(char c) { return tolower((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ cram/../textutils_internal.h:180:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | static inline char toupper_c(char c) { return toupper((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ cram/../textutils_internal.h:416:9: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 416 | d = n / D[v - start - point]; | ^ ~ cram/../textutils_internal.h:399:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 399 | point = v - start; | ~ ~~^~~~~~~ cram/../textutils_internal.h:405:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | point = v - start; | ~ ~~^~~~~~~ cram/cram_encode.c:198:56: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 198 | BLOCK_APPEND_CHAR(map, kh_val(pmap, k).i); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ cram/cram_io.h:285:60: note: expanded from macro 'BLOCK_APPEND_CHAR' 285 | #define BLOCK_APPEND_CHAR(b,c) if (block_append_char((b),(c)) <0) goto block_err | ~~~~~~~~~~~~~~~~~ ^ cram/cram_encode.c:213:68: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 210 | *mp++ = | ~ 211 | (sub_idx(h->substitution_matrix[0], 'C') << 6) | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 212 | (sub_idx(h->substitution_matrix[0], 'G') << 4) | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 213 | (sub_idx(h->substitution_matrix[0], 'T') << 2) | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 214 | (sub_idx(h->substitution_matrix[0], 'N') << 0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_encode.c:218:68: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 215 | *mp++ = | ~ 216 | (sub_idx(h->substitution_matrix[1], 'A') << 6) | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 217 | (sub_idx(h->substitution_matrix[1], 'G') << 4) | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | (sub_idx(h->substitution_matrix[1], 'T') << 2) | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 219 | (sub_idx(h->substitution_matrix[1], 'N') << 0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_encode.c:223:68: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 220 | *mp++ = | ~ 221 | (sub_idx(h->substitution_matrix[2], 'A') << 6) | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | (sub_idx(h->substitution_matrix[2], 'C') << 4) | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 223 | (sub_idx(h->substitution_matrix[2], 'T') << 2) | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 224 | (sub_idx(h->substitution_matrix[2], 'N') << 0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_encode.c:228:68: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 225 | *mp++ = | ~ 226 | (sub_idx(h->substitution_matrix[3], 'A') << 6) | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 227 | (sub_idx(h->substitution_matrix[3], 'C') << 4) | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | (sub_idx(h->substitution_matrix[3], 'G') << 2) | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 229 | (sub_idx(h->substitution_matrix[3], 'N') << 0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_encode.c:233:68: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 230 | *mp++ = | ~ 231 | (sub_idx(h->substitution_matrix[4], 'A') << 6) | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 232 | (sub_idx(h->substitution_matrix[4], 'C') << 4) | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | (sub_idx(h->substitution_matrix[4], 'G') << 2) | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 234 | (sub_idx(h->substitution_matrix[4], 'T') << 0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_encode.c:108:34: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 108 | r |= itf8_put_blk(cb, h->ref_seq_start); | ~~~~~~~~~~~~ ~~~^~~~~~~~~~~~~ cram/cram_encode.c:109:34: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 109 | r |= itf8_put_blk(cb, h->ref_seq_span); | ~~~~~~~~~~~~ ~~~^~~~~~~~~~~~ cram/cram_encode.c:240:52: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 240 | r |= (fd->vv.varint_put32_blk(map, BLOCK_SIZE(h->TD_blk)) <= 0); | ~~ ^~~~~~~~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_encode.c:255:55: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 255 | r |= (fd->vv.varint_put32_blk(cb, BLOCK_SIZE(map) + fd->vv.varint_size(mc)) <= 0); | ~~ ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_encode.c:456:55: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 456 | r |= (fd->vv.varint_put32_blk(cb, BLOCK_SIZE(map) + fd->vv.varint_size(mc)) <= 0); | ~~ ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_encode.c:482:55: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 482 | r |= (fd->vv.varint_put32_blk(cb, BLOCK_SIZE(map) + fd->vv.varint_size(mc)) <= 0); | ~~ ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_encode.c:488:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 488 | BLOCK_UPLEN(cb); | ^~~~~~~~~~~~~~~ cram/cram_io.h:359:41: note: expanded from macro 'BLOCK_UPLEN' 359 | (b)->comp_size = (b)->uncomp_size = BLOCK_SIZE((b)) | ~ ^~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_encode.c:528:49: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 528 | cp += fd->vv.varint_put32(cp, NULL, s->hdr->ref_seq_start); | ~~ ~~~~~~~~^~~~~~~~~~~~~ cram/cram_encode.c:529:49: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 529 | cp += fd->vv.varint_put32(cp, NULL, s->hdr->ref_seq_span); | ~~ ~~~~~~~~^~~~~~~~~~~~ cram/cram_encode.c:532:53: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 532 | cp += fd->vv.varint_put32(cp, NULL, s->hdr->record_counter); | ~~ ~~~~~~~~^~~~~~~~~~~~~~ cram/cram_encode.c:550:39: warning: implicit conversion loses integer precision: 'long' to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 550 | b->comp_size = b->uncomp_size = cp-buf; | ~ ~~^~~~ cram/cram_encode.c:621:18: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'unsigned char' [-Wimplicit-int-conversion] 621 | uc = cr->ntags; | ~ ~~~~^~~~~ cram/cram_encode.c:644:23: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 644 | uc = f->X.code; | ~ ~~~~~^~~~ cram/cram_encode.c:656:27: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 656 | uc = f->X.base; | ~ ~~~~~^~~~ cram/cram_encode.c:683:27: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 683 | uc = f->i.base; | ~ ~~~~~^~~~ cram/cram_encode.c:700:28: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 700 | uc = f->B.base; | ~ ~~~~~^~~~ cram/cram_encode.c:588:24: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 588 | i32 = cr->apos - *last_pos; | ~ ~~~~~~~~~^~~~~~~~~~~ cram/cram_encode.c:592:19: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 592 | i32 = cr->apos; | ~ ~~~~^~~~ cram/cram_encode.c:605:19: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 605 | i32 = cr->mate_pos; | ~ ~~~~^~~~~~~~ cram/cram_encode.c:608:19: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 608 | i32 = cr->tlen; | ~ ~~~~^~~~ cram/cram_encode.c:1114:50: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1114 | s->block[0]->uncomp_size = s->block[0]->byte + (s->block[0]->bit < 7); | ~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_encode.c:1139:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1139 | BLOCK_UPLEN(s->block[id]); | ^~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.h:359:41: note: expanded from macro 'BLOCK_UPLEN' 359 | (b)->comp_size = (b)->uncomp_size = BLOCK_SIZE((b)) | ~ ^~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_encode.c:1306:22: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1306 | u.counts.e = e; u.counts.c = 1; | ~ ^ cram/cram_encode.c:1380:27: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1380 | cr->name = BLOCK_SIZE(s->name_blk); | ~ ^~~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_encode.c:1452:42: warning: implicit conversion turns floating-point number into integer: 'double' to 'hts_pos_t' (aka 'long long') [-Wfloat-conversion] 1452 | hts_pos_t new_end = ref_start + 1000 + (pos-ref_start)*1.5; | ~~~~~~~ ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ cram/cram_encode.c:1452:48: warning: implicit conversion from 'hts_pos_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 1452 | hts_pos_t new_end = ref_start + 1000 + (pos-ref_start)*1.5; | ~~~^~~~~~~~~~ ~ cram/cram_encode.c:1452:35: warning: implicit conversion from 'hts_pos_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 1452 | hts_pos_t new_end = ref_start + 1000 + (pos-ref_start)*1.5; | ~~~~~~~~~~^~~~~~ ~ cram/cram_encode.c:1512:23: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 1512 | int len = hts_str2uint((char *)MD, (char **)&MD, 31, &overflow); | ~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_encode.c:2557:24: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 2557 | f.b.seq_idx = base - (char *)BLOCK_DATA(s->seqs_blk); | ~ ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_encode.c:2613:23: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2613 | f.S.seq_idx = BLOCK_SIZE(s->base_blk); | ~ ^~~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_encode.c:2620:23: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2620 | f.S.seq_idx = BLOCK_SIZE(s->soft_blk); | ~ ^~~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_encode.c:2683:23: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2683 | f.S.seq_idx = BLOCK_SIZE(s->base_blk); | ~ ^~~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_encode.c:2739:27: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 2739 | aux[aux_size++] = cf_tag; | ~ ^~~~~~ cram/cram_encode.c:2717:23: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2717 | int TD_blk_size = BLOCK_SIZE(td_b), new; | ~~~~~~~~~~~ ^~~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_encode.c:3047:52: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 3047 | if (codec->encode(s, codec, aux_s, aux - aux_s) < 0) | ~~~~~ ~~~~^~~~~~~ cram/cram_encode.c:3354:23: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 3354 | cr->seq = BLOCK_SIZE(s->seqs_blk); | ~ ^~~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_encode.c:3355:23: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 3355 | cr->qual = BLOCK_SIZE(s->qual_blk); | ~ ^~~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_encode.c:3414:48: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3413 | int end = cig_len+apos < c->ref_end | ~~~ 3414 | ? cig_len : c->ref_end - apos; | ~~~~~~~~~~~^~~~~~ cram/cram_encode.c:3432:51: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'unsigned int' [-Wshorten-64-to-32] 3432 | if (kputuw(apos+l - MD_last, MD) < 0) goto err; | ~~~~~~ ~~~~~~~^~~~~~~~~ cram/cram_encode.c:3496:77: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3496 | if (cram_add_substitution(fd, c, s, cr, spos+l, | ~~~~~~~~~~~~~~~~~~~~~ ~~~~^~ cram/cram_encode.c:3509:62: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3509 | if (cram_add_bases(fd, c, s, cr, spos, | ~~~~~~~~~~~~~~ ^~~~ cram/cram_encode.c:3515:65: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3515 | if (cram_add_base(fd, c, s, cr, spos, | ~~~~~~~~~~~~~ ^~~~ cram/cram_encode.c:3524:61: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3524 | if (cram_add_base(fd, c, s, cr, spos, | ~~~~~~~~~~~~~ ^~~~ cram/cram_encode.c:3540:37: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'unsigned int' [-Wshorten-64-to-32] 3540 | if (kputuw(apos - MD_last, MD) < 0) goto err; | ~~~~~~ ~~~~~^~~~~~~~~ cram/cram_encode.c:3549:49: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3549 | if (cram_add_deletion(c, s, cr, spos, cig_len, &seq[spos])) | ~~~~~~~~~~~~~~~~~ ^~~~ cram/cram_encode.c:3556:45: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3556 | if (cram_add_skip(c, s, cr, spos, cig_len, &seq[spos])) | ~~~~~~~~~~~~~ ^~~~ cram/cram_encode.c:3563:50: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3563 | if (cram_add_insertion(c, s, cr, spos, cig_len, | ~~~~~~~~~~~~~~~~~~ ^~~~ cram/cram_encode.c:3568:56: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3568 | cram_add_quality(fd, c, s, cr, spos, qual[spos]); | ~~~~~~~~~~~~~~~~ ^~~~ cram/cram_encode.c:3577:49: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3577 | if (cram_add_softclip(c, s, cr, spos, cig_len, | ~~~~~~~~~~~~~~~~~ ^~~~ cram/cram_encode.c:3586:60: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3586 | cram_add_quality(fd, c, s, cr, spos, qual[spos]); | ~~~~~~~~~~~~~~~~ ^~~~ cram/cram_encode.c:3590:60: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3590 | cram_add_quality(fd, c, s, cr, spos, -1); | ~~~~~~~~~~~~~~~~ ^~~~ cram/cram_encode.c:3599:49: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3599 | if (cram_add_hardclip(c, s, cr, spos, cig_len, &seq[spos])) | ~~~~~~~~~~~~~~~~~ ^~~~ cram/cram_encode.c:3604:44: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3604 | if (cram_add_pad(c, s, cr, spos, cig_len, &seq[spos])) | ~~~~~~~~~~~~ ^~~~ cram/cram_encode.c:3617:21: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3617 | fake_qual = spos; | ~ ^~~~ cram/cram_encode.c:3624:29: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'unsigned int' [-Wshorten-64-to-32] 3624 | if (kputuw(apos - MD_last, MD) < 0) goto err; | ~~~~~~ ~~~~~^~~~~~~~~ cram/cram_encode.c:3694:72: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 3694 | cr->len = fake_qual >= 0 ? fake_qual : cr->aend - cr->apos + 1; | ~ ~~~~~~~~~~~~~~~~~~~~^~~ 109 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o cram/cram_external.o cram/cram_external.c In file included from cram/cram_external.c:51: cram/../htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ In file included from cram/cram_external.c:53: In file included from cram/cram.h:45: In file included from cram/cram_samtools.h:59: In file included from cram/../htslib/sam.h:33: In file included from cram/../htslib/hts.h:37: cram/../htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ cram/../htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ cram/../htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ cram/../htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ cram/../htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ cram/../htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ cram/../htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ cram/../htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from cram/cram_external.c:53: In file included from cram/cram.h:45: In file included from cram/cram_samtools.h:59: In file included from cram/../htslib/sam.h:33: cram/../htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from cram/cram_external.c:53: In file included from cram/cram.h:45: In file included from cram/cram_samtools.h:59: In file included from cram/../htslib/sam.h:34: cram/../htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ cram/../htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ cram/../htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from cram/cram_external.c:53: In file included from cram/cram.h:48: cram/cram_io.h:301:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 301 | if ((j = i / 1000000000)) {*cp++ = j + '0'; i -= j*1000000000; goto x8;} | ~ ~~^~~~~ cram/cram_io.h:302:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 302 | if ((j = i / 100000000)) {*cp++ = j + '0'; i -= j*100000000; goto x7;} | ~ ~~^~~~~ cram/cram_io.h:303:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 303 | b7:if ((j = i / 10000000)) {*cp++ = j + '0'; i -= j*10000000; goto x6;} | ~ ~~^~~~~ cram/cram_io.h:304:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 304 | if ((j = i / 1000000)) {*cp++ = j + '0', i -= j*1000000; goto x5;} | ~ ~~^~~~~ cram/cram_io.h:305:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 305 | b5:if ((j = i / 100000)) {*cp++ = j + '0', i -= j*100000; goto x4;} | ~ ~~^~~~~ cram/cram_io.h:306:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 306 | if ((j = i / 10000)) {*cp++ = j + '0', i -= j*10000; goto x3;} | ~ ~~^~~~~ cram/cram_io.h:307:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 307 | b3:if ((j = i / 1000)) {*cp++ = j + '0', i -= j*1000; goto x2;} | ~ ~~^~~~~ cram/cram_io.h:308:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 308 | if ((j = i / 100)) {*cp++ = j + '0', i -= j*100; goto x1;} | ~ ~~^~~~~ cram/cram_io.h:309:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 309 | b1:if ((j = i / 10)) {*cp++ = j + '0', i -= j*10; goto x0;} | ~ ~~^~~~~ cram/cram_io.h:310:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 310 | if (i) *cp++ = i + '0'; | ~ ~~^~~~~ cram/cram_io.h:314:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 314 | x7: *cp++ = i / 10000000 + '0', i %= 10000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:315:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 315 | x6: *cp++ = i / 1000000 + '0', i %= 1000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:316:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 316 | x5: *cp++ = i / 100000 + '0', i %= 100000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:317:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 317 | x4: *cp++ = i / 10000 + '0', i %= 10000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:318:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 318 | x3: *cp++ = i / 1000 + '0', i %= 1000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:319:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 319 | x2: *cp++ = i / 100 + '0', i %= 100; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:320:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 320 | x1: *cp++ = i / 10 + '0', i %= 10; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:321:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 321 | x0: *cp++ = i + '0'; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:328:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 328 | *cp++ = i / 10000000 + '0', i %= 10000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:329:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 329 | *cp++ = i / 1000000 + '0', i %= 1000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:330:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 330 | *cp++ = i / 100000 + '0', i %= 100000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:331:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 331 | *cp++ = i / 10000 + '0', i %= 10000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:332:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 332 | *cp++ = i / 1000 + '0', i %= 1000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:333:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 333 | *cp++ = i / 100 + '0', i %= 100; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:334:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 334 | *cp++ = i / 10 + '0', i %= 10; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:335:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 335 | *cp++ = i + '0'; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:344:34: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 344 | return append_uint32(cp, i); | ~~~~~~~~~~~~~ ^ cram/cram_io.h:347:33: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 347 | cp = append_uint32(cp, j/1000000000); | ~~~~~~~~~~~~~ ~^~~~~~~~~~~ cram/cram_io.h:349:31: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 349 | cp = append_sub32(cp, j); | ~~~~~~~~~~~~ ^ cram/cram_io.h:351:34: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 351 | cp = append_uint32(cp, i / 1000000000); | ~~~~~~~~~~~~~ ~~^~~~~~~~~~~~ cram/cram_external.c:402:31: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 402 | int dsi = kh_value(c2d->hash, k); | ~~~ ^~~~~~~~~~~~~~~~~~~~~~ cram/../htslib/khash.h:652:25: note: expanded from macro 'kh_value' 652 | #define kh_value(h, x) ((h)->vals[x]) | ^~~~~~~~~~~~ cram/cram_external.c:412:53: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 412 | c2d->ds[c2d->ds_idx].next = kh_value(c2d->hash, k); | ~ ^~~~~~~~~~~~~~~~~~~~~~ cram/../htslib/khash.h:652:25: note: expanded from macro 'kh_value' 652 | #define kh_value(h, x) ((h)->vals[x]) | ^~~~~~~~~~~~ cram/cram_external.c:459:15: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 459 | int dsi = kh_value(c2d->hash, k); // initial ds array index from hash | ~~~ ^~~~~~~~~~~~~~~~~~~~~~ cram/../htslib/khash.h:652:25: note: expanded from macro 'kh_value' 652 | #define kh_value(h, x) ((h)->vals[x]) | ^~~~~~~~~~~~ cram/cram_external.c:486:42: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 486 | if (key>>16) key_s[key_i++] = key>>16; | ~ ~~~^~~~ cram/cram_external.c:530:60: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 530 | int32_t cram_block_get_size(cram_block *b) { return BLOCK_SIZE(b); } | ~~~~~~ ^~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_external.c:552:46: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 552 | void cram_block_update_size(cram_block *b) { BLOCK_UPLEN(b); } | ^~~~~~~~~~~~~~ cram/cram_io.h:359:41: note: expanded from macro 'BLOCK_UPLEN' 359 | (b)->comp_size = (b)->uncomp_size = BLOCK_SIZE((b)) | ~ ^~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_external.c:973:11: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 973 | i32 = in->vv.varint_get32(&cp, endp, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_external.c:975:11: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 975 | i32 = in->vv.varint_get32(&cp, endp, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_external.c:978:11: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 978 | i32 = in->vv.varint_get32(&cp, endp, &err); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 52 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o cram/cram_index.o cram/cram_index.c In file included from cram/cram_index.c:66: cram/../htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ In file included from cram/cram_index.c:68: In file included from cram/../hts_internal.h:30: In file included from cram/../htslib/hts.h:37: cram/../htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ cram/../htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ cram/../htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ cram/../htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ cram/../htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ cram/../htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ cram/../htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ cram/../htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from cram/cram_index.c:68: In file included from cram/../hts_internal.h:30: cram/../htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from cram/cram_index.c:68: In file included from cram/../hts_internal.h:31: cram/../textutils_internal.h:179:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 179 | static inline char tolower_c(char c) { return tolower((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ cram/../textutils_internal.h:180:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | static inline char toupper_c(char c) { return toupper((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ cram/../textutils_internal.h:416:9: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 416 | d = n / D[v - start - point]; | ^ ~ cram/../textutils_internal.h:399:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 399 | point = v - start; | ~ ~~^~~~~~~ cram/../textutils_internal.h:405:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | point = v - start; | ~ ~~^~~~~~~ In file included from cram/cram_index.c:69: In file included from cram/cram.h:45: In file included from cram/cram_samtools.h:59: In file included from cram/../htslib/sam.h:34: cram/../htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ cram/../htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ cram/../htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from cram/cram_index.c:69: In file included from cram/cram.h:48: cram/cram_io.h:301:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 301 | if ((j = i / 1000000000)) {*cp++ = j + '0'; i -= j*1000000000; goto x8;} | ~ ~~^~~~~ cram/cram_io.h:302:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 302 | if ((j = i / 100000000)) {*cp++ = j + '0'; i -= j*100000000; goto x7;} | ~ ~~^~~~~ cram/cram_io.h:303:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 303 | b7:if ((j = i / 10000000)) {*cp++ = j + '0'; i -= j*10000000; goto x6;} | ~ ~~^~~~~ cram/cram_io.h:304:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 304 | if ((j = i / 1000000)) {*cp++ = j + '0', i -= j*1000000; goto x5;} | ~ ~~^~~~~ cram/cram_io.h:305:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 305 | b5:if ((j = i / 100000)) {*cp++ = j + '0', i -= j*100000; goto x4;} | ~ ~~^~~~~ cram/cram_io.h:306:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 306 | if ((j = i / 10000)) {*cp++ = j + '0', i -= j*10000; goto x3;} | ~ ~~^~~~~ cram/cram_io.h:307:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 307 | b3:if ((j = i / 1000)) {*cp++ = j + '0', i -= j*1000; goto x2;} | ~ ~~^~~~~ cram/cram_io.h:308:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 308 | if ((j = i / 100)) {*cp++ = j + '0', i -= j*100; goto x1;} | ~ ~~^~~~~ cram/cram_io.h:309:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 309 | b1:if ((j = i / 10)) {*cp++ = j + '0', i -= j*10; goto x0;} | ~ ~~^~~~~ cram/cram_io.h:310:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 310 | if (i) *cp++ = i + '0'; | ~ ~~^~~~~ cram/cram_io.h:314:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 314 | x7: *cp++ = i / 10000000 + '0', i %= 10000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:315:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 315 | x6: *cp++ = i / 1000000 + '0', i %= 1000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:316:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 316 | x5: *cp++ = i / 100000 + '0', i %= 100000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:317:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 317 | x4: *cp++ = i / 10000 + '0', i %= 10000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:318:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 318 | x3: *cp++ = i / 1000 + '0', i %= 1000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:319:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 319 | x2: *cp++ = i / 100 + '0', i %= 100; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:320:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 320 | x1: *cp++ = i / 10 + '0', i %= 10; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:321:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 321 | x0: *cp++ = i + '0'; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:328:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 328 | *cp++ = i / 10000000 + '0', i %= 10000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:329:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 329 | *cp++ = i / 1000000 + '0', i %= 1000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:330:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 330 | *cp++ = i / 100000 + '0', i %= 100000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:331:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 331 | *cp++ = i / 10000 + '0', i %= 10000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:332:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 332 | *cp++ = i / 1000 + '0', i %= 1000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:333:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 333 | *cp++ = i / 100 + '0', i %= 100; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:334:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 334 | *cp++ = i / 10 + '0', i %= 10; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:335:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 335 | *cp++ = i + '0'; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:344:34: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 344 | return append_uint32(cp, i); | ~~~~~~~~~~~~~ ^ cram/cram_io.h:347:33: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 347 | cp = append_uint32(cp, j/1000000000); | ~~~~~~~~~~~~~ ~^~~~~~~~~~~ cram/cram_io.h:349:31: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 349 | cp = append_sub32(cp, j); | ~~~~~~~~~~~~ ^ cram/cram_io.h:351:34: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 351 | cp = append_uint32(cp, i / 1000000000); | ~~~~~~~~~~~~~ ~~^~~~~~~~~~~~ cram/cram_index.c:666:32: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 666 | last_pos = s->crecs[i].apos; | ~ ~~~~~~~~~~~~^~~~ cram/cram_index.c:720:67: warning: implicit conversion loses integer precision: 'off_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 720 | ret = cram_index_build_multiref(fd, c, s, fp, cpos, spos, sz); | ~~~~~~~~~~~~~~~~~~~~~~~~~ ^~ cram/cram_index.c:720:61: warning: implicit conversion loses integer precision: 'off_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 720 | ret = cram_index_build_multiref(fd, c, s, fp, cpos, spos, sz); | ~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~ cram/cram_index.c:912:44: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 912 | int j = i+1 == fd->index_sz ? 0 : i+1; // maps "*" to end | ~ ~^~ cram/cram_index.c:972:60: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 972 | if ((e = cram_container_num2offset_(&fd->index[j], num, | ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~ 53 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o cram/cram_io.o cram/cram_io.c In file included from cram/cram_io.c:76: In file included from cram/cram.h:45: In file included from cram/cram_samtools.h:59: In file included from cram/../htslib/sam.h:33: In file included from cram/../htslib/hts.h:37: cram/../htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ cram/../htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ cram/../htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ cram/../htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ cram/../htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ cram/../htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ cram/../htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ cram/../htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from cram/cram_io.c:76: In file included from cram/cram.h:45: In file included from cram/cram_samtools.h:59: In file included from cram/../htslib/sam.h:33: cram/../htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from cram/cram_io.c:76: In file included from cram/cram.h:45: In file included from cram/cram_samtools.h:59: In file included from cram/../htslib/sam.h:34: cram/../htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ cram/../htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ cram/../htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from cram/cram_io.c:76: In file included from cram/cram.h:48: cram/cram_io.h:301:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 301 | if ((j = i / 1000000000)) {*cp++ = j + '0'; i -= j*1000000000; goto x8;} | ~ ~~^~~~~ cram/cram_io.h:302:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 302 | if ((j = i / 100000000)) {*cp++ = j + '0'; i -= j*100000000; goto x7;} | ~ ~~^~~~~ cram/cram_io.h:303:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 303 | b7:if ((j = i / 10000000)) {*cp++ = j + '0'; i -= j*10000000; goto x6;} | ~ ~~^~~~~ cram/cram_io.h:304:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 304 | if ((j = i / 1000000)) {*cp++ = j + '0', i -= j*1000000; goto x5;} | ~ ~~^~~~~ cram/cram_io.h:305:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 305 | b5:if ((j = i / 100000)) {*cp++ = j + '0', i -= j*100000; goto x4;} | ~ ~~^~~~~ cram/cram_io.h:306:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 306 | if ((j = i / 10000)) {*cp++ = j + '0', i -= j*10000; goto x3;} | ~ ~~^~~~~ cram/cram_io.h:307:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 307 | b3:if ((j = i / 1000)) {*cp++ = j + '0', i -= j*1000; goto x2;} | ~ ~~^~~~~ cram/cram_io.h:308:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 308 | if ((j = i / 100)) {*cp++ = j + '0', i -= j*100; goto x1;} | ~ ~~^~~~~ cram/cram_io.h:309:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 309 | b1:if ((j = i / 10)) {*cp++ = j + '0', i -= j*10; goto x0;} | ~ ~~^~~~~ cram/cram_io.h:310:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 310 | if (i) *cp++ = i + '0'; | ~ ~~^~~~~ cram/cram_io.h:314:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 314 | x7: *cp++ = i / 10000000 + '0', i %= 10000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:315:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 315 | x6: *cp++ = i / 1000000 + '0', i %= 1000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:316:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 316 | x5: *cp++ = i / 100000 + '0', i %= 100000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:317:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 317 | x4: *cp++ = i / 10000 + '0', i %= 10000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:318:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 318 | x3: *cp++ = i / 1000 + '0', i %= 1000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:319:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 319 | x2: *cp++ = i / 100 + '0', i %= 100; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:320:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 320 | x1: *cp++ = i / 10 + '0', i %= 10; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:321:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 321 | x0: *cp++ = i + '0'; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:328:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 328 | *cp++ = i / 10000000 + '0', i %= 10000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:329:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 329 | *cp++ = i / 1000000 + '0', i %= 1000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:330:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 330 | *cp++ = i / 100000 + '0', i %= 100000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:331:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 331 | *cp++ = i / 10000 + '0', i %= 10000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:332:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 332 | *cp++ = i / 1000 + '0', i %= 1000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:333:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 333 | *cp++ = i / 100 + '0', i %= 100; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:334:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 334 | *cp++ = i / 10 + '0', i %= 10; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:335:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 335 | *cp++ = i + '0'; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:344:34: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 344 | return append_uint32(cp, i); | ~~~~~~~~~~~~~ ^ cram/cram_io.h:347:33: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 347 | cp = append_uint32(cp, j/1000000000); | ~~~~~~~~~~~~~ ~^~~~~~~~~~~ cram/cram_io.h:349:31: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 349 | cp = append_sub32(cp, j); | ~~~~~~~~~~~~ ^ cram/cram_io.h:351:34: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 351 | cp = append_uint32(cp, i / 1000000000); | ~~~~~~~~~~~~~ ~~^~~~~~~~~~~~ In file included from cram/cram_io.c:80: In file included from cram/../hts_internal.h:31: cram/../textutils_internal.h:179:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 179 | static inline char tolower_c(char c) { return tolower((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ cram/../textutils_internal.h:180:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | static inline char toupper_c(char c) { return toupper((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ cram/../textutils_internal.h:416:9: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 416 | d = n / D[v - start - point]; | ^ ~ cram/../textutils_internal.h:399:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 399 | point = v - start; | ~ ~~^~~~~~~ cram/../textutils_internal.h:405:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | point = v - start; | ~ ~~^~~~~~~ In file included from cram/cram_io.c:95: cram/../htscodecs/htscodecs/varint.h:88:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 88 | return cp-op; | ~~~~~~ ~~^~~ cram/../htscodecs/htscodecs/varint.h:101:15: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 101 | *cp = i; | ~ ^ cram/../htscodecs/htscodecs/varint.h:202:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 202 | return cp-op; | ~~~~~~ ~~^~~ cram/../htscodecs/htscodecs/varint.h:211:15: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 211 | *cp = i; | ~ ^ cram/../htscodecs/htscodecs/varint.h:263:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 263 | return cp-op; | ~~~~~~ ~~^~~ cram/../htscodecs/htscodecs/varint.h:298:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 298 | return cp-op; | ~~~~~~ ~~^~~ In file included from cram/cram_io.c:109: cram/../htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ cram/cram_io.c:218:10: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'unsigned char' [-Wimplicit-int-conversion] 218 | c[0]=val; | ~^~~ cram/cram_io.c:280:15: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'unsigned char' [-Wimplicit-int-conversion] 280 | *up = val; | ~ ^~~ cram/cram_io.c:283:29: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 283 | *up++ = (val >> 8 ) | 0x80; | ~ ~~~~~~~~~~~~^~~~~~ cram/cram_io.c:287:29: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 287 | *up++ = (val >> 16) | 0xc0; | ~ ~~~~~~~~~~~~^~~~~~ cram/cram_io.c:292:29: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 292 | *up++ = (val >> 24) | 0xe0; | ~ ~~~~~~~~~~~~^~~~~~ cram/cram_io.c:312:15: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'unsigned char' [-Wimplicit-int-conversion] 312 | *up = val; | ~ ^~~ cram/cram_io.c:315:29: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'unsigned char' [-Wimplicit-int-conversion] 315 | *up++ = (val >> 8 ) | 0x80; | ~ ~~~~~~~~~~~~^~~~~~ cram/cram_io.c:319:29: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'unsigned char' [-Wimplicit-int-conversion] 319 | *up++ = (val >> 16) | 0xc0; | ~ ~~~~~~~~~~~~^~~~~~ cram/cram_io.c:324:29: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'unsigned char' [-Wimplicit-int-conversion] 324 | *up++ = (val >> 24) | 0xe0; | ~ ~~~~~~~~~~~~^~~~~~ cram/cram_io.c:330:29: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'unsigned char' [-Wimplicit-int-conversion] 330 | *up++ = (val >> 32) | 0xf0; | ~ ~~~~~~~~~~~~^~~~~~ cram/cram_io.c:337:29: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'unsigned char' [-Wimplicit-int-conversion] 337 | *up++ = (val >> 40) | 0xf8; | ~ ~~~~~~~~~~~~^~~~~~ cram/cram_io.c:345:29: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'unsigned char' [-Wimplicit-int-conversion] 345 | *up++ = (val >> 48) | 0xfc; | ~ ~~~~~~~~~~~~^~~~~~ cram/cram_io.c:354:29: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'unsigned char' [-Wimplicit-int-conversion] 354 | *up++ = (val >> 56) | 0xfe; | ~ ~~~~~~~~~~~~^~~~~~ cram/cram_io.c:507:12: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'unsigned char' [-Wimplicit-int-conversion] 507 | c[0] = val; | ~ ^~~ cram/cram_io.c:518:32: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 518 | val = (val<<8) | (c[1]=v); | ~^ cram/cram_io.c:853:21: warning: implicit conversion turns floating-point number into integer: 'double' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] 853 | (*size) *= 1.5; | ~~~~~~~~^~~~~~ cram/cram_io.c:878:11: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 878 | level *= 1.23; // NB levels go up to 12 here; 5 onwards is +1 | ~~~~~~^~~~~~~ cram/cram_io.c:893:43: warning: implicit conversion turns floating-point number into integer: 'double' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] 893 | cdata = malloc(cdata_alloc = size*1.05+100); | ~ ~~~~~~~~~^~~~ cram/cram_io.c:893:34: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 893 | cdata = malloc(cdata_alloc = size*1.05+100); | ^~~~~ cram/cram_io.c:1190:12: warning: implicit conversion loses integer precision: 'enum cram_block_method_int' to 'unsigned char' [-Wimplicit-int-conversion] 1190 | c = b->method; crc = crc32(crc, &c, 1); | ~ ~~~^~~~~~ cram/cram_io.c:1192:12: warning: implicit conversion loses integer precision: 'enum cram_content_type' to 'unsigned char' [-Wimplicit-int-conversion] 1192 | c = b->content_type; crc = crc32(crc, &c, 1); | ~ ~~~^~~~~~~~~~~~ cram/cram_io.c:1256:16: warning: implicit conversion loses integer precision: 'enum cram_block_method_int' to 'unsigned char' [-Wimplicit-int-conversion] 1256 | *cp++ = b->method; | ~ ~~~^~~~~~ cram/cram_io.c:1257:16: warning: implicit conversion loses integer precision: 'enum cram_content_type' to 'unsigned char' [-Wimplicit-int-conversion] 1257 | *cp++ = b->content_type; | ~ ~~~^~~~~~~~~~~~ cram/cram_io.c:1262:17: warning: implicit conversion loses integer precision: 'long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 1262 | sz = cp-dat + 4; | ~ ~~~~~~~^~~ cram/cram_io.c:1304:20: warning: implicit conversion loses integer precision: 'enum cram_block_method_int' to 'char' [-Wimplicit-int-conversion] 1304 | *cp++ = b->method; | ~ ~~~^~~~~~ cram/cram_io.c:1305:20: warning: implicit conversion loses integer precision: 'enum cram_content_type' to 'char' [-Wimplicit-int-conversion] 1305 | *cp++ = b->content_type; | ~ ~~~^~~~~~~~~~~~ cram/cram_io.c:1455:26: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1455 | b->uncomp_size = uncomp_size; | ~ ^~~~~~~~~~~ cram/cram_io.c:1545:47: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 1545 | unsigned int comp_size = in_size*1.01 + 600; | ~~~~~~~~~ ~~~~~~~~~~~~~^~~~~ cram/cram_io.c:1545:34: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 1545 | unsigned int comp_size = in_size*1.01 + 600; | ^~~~~~~~ cram/cram_io.c:1551:51: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 1550 | if (BZ_OK != BZ2_bzBuffToBuffCompress(comp, &comp_size, | ~~~~~~~~~~~~~~~~~~~~~~~~ 1551 | in, in_size, | ^~~~~~~ cram/cram_io.c:1600:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 1600 | cp = rans_compress((unsigned char *)in, in_size, &out_size_i, | ~~~~~~~~~~~~~ ^~~~~~~ cram/cram_io.c:1621:54: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 1621 | cp = rans_compress_4x16((unsigned char *)in, in_size, &out_size_i, | ~~~~~~~~~~~~~~~~~~ ^~~~~~~ cram/cram_io.c:1641:53: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 1641 | cp = arith_compress_to((unsigned char *)in, in_size, NULL, &out_size_i, | ~~~~~~~~~~~~~~~~~ ^~~~~~~ cram/cram_io.c:1653:45: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1653 | uint8_t *cp = tok3_encode_names(in, in_size, lev, strat, &out_len, NULL); | ~~~~~~~~~~~~~~~~~ ^~~~~~~ cram/cram_io.c:1769:21: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 1768 | metrics->input_avg_delta = | ~ 1769 | 0.9 * (metrics->input_avg_delta + | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1770 | ABS(b->uncomp_size - metrics->input_avg_sz)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.c:1772:35: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 1772 | metrics->input_avg_sz += b->uncomp_size*.2; | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ cram/cram_io.c:1773:35: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 1773 | metrics->input_avg_sz *= 0.8; | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~ cram/cram_io.c:1921:40: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 1921 | metrics->sz[m] *= 1+(meth_cost[m]-1)*4; | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.c:1924:40: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 1924 | metrics->sz[m] *= 1+(meth_cost[m]-1); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ cram/cram_io.c:1927:40: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 1927 | metrics->sz[m] *= 1+(meth_cost[m]-1)/2; | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.c:1930:40: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 1930 | metrics->sz[m] *= 1+(meth_cost[m]-1)/3; | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.c:1949:41: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 1949 | metrics->next_trial *= MIN(2, 1+metrics->consistency/4.0); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.c:2001:21: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2000 | metrics->input_avg_delta = | ~ 2001 | 0.9 * (metrics->input_avg_delta + | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2002 | ABS(b->uncomp_size - metrics->input_avg_sz)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.c:2004:35: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2004 | metrics->input_avg_sz += b->uncomp_size*.2; | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ cram/cram_io.c:2005:35: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2005 | metrics->input_avg_sz *= 0.8; | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~ cram/cram_io.c:1859:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1859 | b->comp_size = sz_best; | ~ ^~~~~~~ cram/cram_io.c:2036:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 2036 | b->comp_size = comp_size; | ~ ^~~~~~~~~ cram/cram_io.c:2055:28: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 2055 | b->comp_size = comp_size; | ~ ^~~~~~~~~ cram/cram_io.c:2384:29: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 2384 | e->bases_per_line = strtol(cp, &cp, 10); | ~ ^~~~~~~~~~~~~~~~~~~ cram/cram_io.c:2389:26: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 2389 | e->line_length = strtol(cp, &cp, 10); | ~ ^~~~~~~~~~~~~~~~~~~ cram/cram_io.c:2721:21: warning: implicit conversion loses integer precision: 'int' to 'mode_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 2721 | if (mkdir(path, mode) == 0) { | ~~~~~ ^~~~ cram/cram_io.c:2722:21: warning: implicit conversion loses integer precision: 'int' to 'mode_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 2722 | chmod(path, mode); | ~~~~~ ^~~~ cram/cram_io.c:2728:17: warning: implicit conversion loses integer precision: 'int' to 'mode_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 2728 | mkdir(path, mode); | ~~~~~ ^~~~ cram/cram_io.c:2729:17: warning: implicit conversion loses integer precision: 'int' to 'mode_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 2729 | chmod(path, mode); | ~~~~~ ^~~~ cram/cram_io.c:3248:13: warning: implicit conversion from 'hts_pos_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 3248 | if (end - start >= 0.5*r->length || fd->shared_ref) { | ~~~~^~~~~~~ ~~ cram/cram_io.c:3248:31: warning: implicit conversion from 'int64_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 3248 | if (end - start >= 0.5*r->length || fd->shared_ref) { | ~~~~^~~~~~ cram/cram_io.c:3175:18: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 3175 | int ostart = start; | ~~~~~~ ^~~~~ cram/cram_io.c:3728:48: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 3728 | cp += fd->vv.varint_put32(cp, NULL, c->ref_seq_start); | ~~ ~~~^~~~~~~~~~~~~ cram/cram_io.c:3729:48: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 3729 | cp += fd->vv.varint_put32(cp, NULL, c->ref_seq_span); | ~~ ~~~^~~~~~~~~~~~ cram/cram_io.c:3735:48: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 3735 | cp += fd->vv.varint_put32(cp, NULL, c->record_counter); | ~~ ~~~^~~~~~~~~~~~~~ cram/cram_io.c:3752:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 3752 | *size = cp-dat; // actual used size | ~ ~~^~~~ cram/cram_io.c:3789:48: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 3789 | cp += fd->vv.varint_put32(cp, NULL, c->ref_seq_start); | ~~ ~~~^~~~~~~~~~~~~ cram/cram_io.c:3790:48: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 3790 | cp += fd->vv.varint_put32(cp, NULL, c->ref_seq_span); | ~~ ~~~^~~~~~~~~~~~ cram/cram_io.c:3796:48: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 3796 | cp += fd->vv.varint_put32(cp, NULL, c->record_counter); | ~~ ~~~^~~~~~~~~~~~~~ cram/cram_io.c:4638:39: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 4638 | fd->file_def->major_version = CRAM_MAJOR_VERS(fd->version); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_structs.h:193:33: note: expanded from macro 'CRAM_MAJOR_VERS' 193 | #define CRAM_MAJOR_VERS(v) ((v) >> 8) | ~~~~^~~~ cram/cram_io.c:4787:42: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 4787 | padded_length = MIN(c->length*.5, 10000); | ~ ~~~~~~~~~^~~ cram/misc.h:70:37: note: expanded from macro 'MIN' 70 | #define MIN(A,B) ( ( (A) < (B) ) ? (A) : (B) ) | ^ cram/cram_io.c:4799:55: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 4799 | padded_length = MAX(c->length*1.5, 10000) - c->length; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ cram/cram_io.c:4739:36: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 4739 | if (-1 == int32_encode(fd, header_len)) | ~~~~~~~~~~~~ ^~~~~~~~~~ cram/cram_io.c:4759:30: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 4759 | if (int32_put_blk(b, header_len) < 0) | ~~~~~~~~~~~~~ ^~~~~~~~~~ cram/cram_io.c:4763:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 4763 | BLOCK_UPLEN(b); | ^~~~~~~~~~~~~~ cram/cram_io.h:359:41: note: expanded from macro 'BLOCK_UPLEN' 359 | (b)->comp_size = (b)->uncomp_size = BLOCK_SIZE((b)) | ~ ^~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_io.c:4813:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 4813 | BLOCK_UPLEN(b); | ^~~~~~~~~~~~~~ cram/cram_io.h:359:41: note: expanded from macro 'BLOCK_UPLEN' 359 | (b)->comp_size = (b)->uncomp_size = BLOCK_SIZE((b)) | ~ ^~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_io.c:4833:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 4833 | BLOCK_UPLEN(b); | ^~~~~~~~~~~~~~ cram/cram_io.h:359:41: note: expanded from macro 'BLOCK_UPLEN' 359 | (b)->comp_size = (b)->uncomp_size = BLOCK_SIZE((b)) | ~ ^~~~~~~~~~~~~~~ cram/cram_io.h:209:29: note: expanded from macro 'BLOCK_SIZE' 209 | #define BLOCK_SIZE(b) ((b)->byte) | ~~~~~^~~~ cram/cram_io.c:5235:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 5233 | c.length = c.comp_hdr_block->byte // Landmark[0] | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5234 | + 5 // block struct | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5235 | + 4*(CRAM_MAJOR_VERS(fd->version) >= 3); // CRC | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_io.c:5682:21: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 5682 | uint8_t major = CRAM_MAJOR_VERS(fd->version); | ~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ cram/cram_structs.h:193:33: note: expanded from macro 'CRAM_MAJOR_VERS' 193 | #define CRAM_MAJOR_VERS(v) ((v) >> 8) | ~~~~^~~~ 128 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o cram/cram_stats.o cram/cram_stats.c In file included from cram/cram_stats.c:45: In file included from cram/cram.h:45: In file included from cram/cram_samtools.h:59: In file included from cram/../htslib/sam.h:33: In file included from cram/../htslib/hts.h:37: cram/../htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ cram/../htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ cram/../htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ cram/../htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ cram/../htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ cram/../htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ cram/../htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ cram/../htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from cram/cram_stats.c:45: In file included from cram/cram.h:45: In file included from cram/cram_samtools.h:59: In file included from cram/../htslib/sam.h:33: cram/../htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from cram/cram_stats.c:45: In file included from cram/cram.h:45: In file included from cram/cram_samtools.h:59: In file included from cram/../htslib/sam.h:34: cram/../htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ cram/../htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ cram/../htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from cram/cram_stats.c:45: In file included from cram/cram.h:48: cram/cram_io.h:301:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 301 | if ((j = i / 1000000000)) {*cp++ = j + '0'; i -= j*1000000000; goto x8;} | ~ ~~^~~~~ cram/cram_io.h:302:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 302 | if ((j = i / 100000000)) {*cp++ = j + '0'; i -= j*100000000; goto x7;} | ~ ~~^~~~~ cram/cram_io.h:303:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 303 | b7:if ((j = i / 10000000)) {*cp++ = j + '0'; i -= j*10000000; goto x6;} | ~ ~~^~~~~ cram/cram_io.h:304:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 304 | if ((j = i / 1000000)) {*cp++ = j + '0', i -= j*1000000; goto x5;} | ~ ~~^~~~~ cram/cram_io.h:305:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 305 | b5:if ((j = i / 100000)) {*cp++ = j + '0', i -= j*100000; goto x4;} | ~ ~~^~~~~ cram/cram_io.h:306:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 306 | if ((j = i / 10000)) {*cp++ = j + '0', i -= j*10000; goto x3;} | ~ ~~^~~~~ cram/cram_io.h:307:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 307 | b3:if ((j = i / 1000)) {*cp++ = j + '0', i -= j*1000; goto x2;} | ~ ~~^~~~~ cram/cram_io.h:308:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 308 | if ((j = i / 100)) {*cp++ = j + '0', i -= j*100; goto x1;} | ~ ~~^~~~~ cram/cram_io.h:309:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 309 | b1:if ((j = i / 10)) {*cp++ = j + '0', i -= j*10; goto x0;} | ~ ~~^~~~~ cram/cram_io.h:310:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 310 | if (i) *cp++ = i + '0'; | ~ ~~^~~~~ cram/cram_io.h:314:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 314 | x7: *cp++ = i / 10000000 + '0', i %= 10000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:315:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 315 | x6: *cp++ = i / 1000000 + '0', i %= 1000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:316:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 316 | x5: *cp++ = i / 100000 + '0', i %= 100000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:317:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 317 | x4: *cp++ = i / 10000 + '0', i %= 10000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:318:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 318 | x3: *cp++ = i / 1000 + '0', i %= 1000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:319:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 319 | x2: *cp++ = i / 100 + '0', i %= 100; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:320:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 320 | x1: *cp++ = i / 10 + '0', i %= 10; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:321:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 321 | x0: *cp++ = i + '0'; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:328:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 328 | *cp++ = i / 10000000 + '0', i %= 10000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:329:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 329 | *cp++ = i / 1000000 + '0', i %= 1000000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:330:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 330 | *cp++ = i / 100000 + '0', i %= 100000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:331:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 331 | *cp++ = i / 10000 + '0', i %= 10000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:332:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 332 | *cp++ = i / 1000 + '0', i %= 1000; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:333:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 333 | *cp++ = i / 100 + '0', i %= 100; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:334:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 334 | *cp++ = i / 10 + '0', i %= 10; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:335:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 335 | *cp++ = i + '0'; | ~ ~~~~~~~~~~~~~~^~~~~ cram/cram_io.h:344:34: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 344 | return append_uint32(cp, i); | ~~~~~~~~~~~~~ ^ cram/cram_io.h:347:33: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 347 | cp = append_uint32(cp, j/1000000000); | ~~~~~~~~~~~~~ ~^~~~~~~~~~~ cram/cram_io.h:349:31: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 349 | cp = append_sub32(cp, j); | ~~~~~~~~~~~~ ^ cram/cram_io.h:351:34: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 351 | cp = append_uint32(cp, i / 1000000000); | ~~~~~~~~~~~~~ ~~^~~~~~~~~~~~ cram/cram_stats.c:187:17: warning: implicit conversion loses integer precision: 'khint64_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 187 | i = kh_key(st->h, k); | ~ ^~~~~~~~~~~~~~~~ cram/../htslib/khash.h:638:23: note: expanded from macro 'kh_key' 638 | #define kh_key(h, x) ((h)->keys[x]) | ^~~~~~~~~~~~ 43 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o cram/mFILE.o cram/mFILE.c In file included from cram/mFILE.c:45: In file included from cram/os.h:81: cram/../htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ cram/../htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ cram/../htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ cram/mFILE.c:92:22: warning: implicit conversion loses integer precision: 'off_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 92 | bufsize = sb.st_size; | ~ ~~~^~~~~~~ cram/mFILE.c:569:34: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 569 | mf->data[--mf->offset] = c; | ~ ^ 5 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o cram/open_trace_file.o cram/open_trace_file.c In file included from cram/open_trace_file.c:76: In file included from cram/os.h:81: cram/../htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ cram/../htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ cram/../htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from cram/open_trace_file.c:83: cram/../htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ In file included from cram/open_trace_file.c:85: In file included from cram/../htslib/hts.h:37: cram/../htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ cram/../htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ cram/../htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ cram/../htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ cram/../htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ cram/../htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ cram/../htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ cram/../htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from cram/open_trace_file.c:85: cram/../htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ 13 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o cram/pooled_alloc.o cram/pooled_alloc.c cram/pooled_alloc.c:76:48: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 76 | p->psize = MIN(PSIZE, next_power_2(p->dsize*1024)); | ~~~~~~~~~~~~ ~~~~~~~~^~~~~ cram/misc.h:70:29: note: expanded from macro 'MIN' 70 | #define MIN(A,B) ( ( (A) < (B) ) ? (A) : (B) ) | ^ cram/pooled_alloc.c:76:48: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 76 | p->psize = MIN(PSIZE, next_power_2(p->dsize*1024)); | ~~~~~~~~~~~~ ~~~~~~~~^~~~~ cram/misc.h:70:43: note: expanded from macro 'MIN' 70 | #define MIN(A,B) ( ( (A) < (B) ) ? (A) : (B) ) | ^ 2 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o cram/string_alloc.o cram/string_alloc.c clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o htscodecs/htscodecs/arith_dynamic.o htscodecs/htscodecs/arith_dynamic.c In file included from htscodecs/htscodecs/arith_dynamic.c:63: htscodecs/htscodecs/varint.h:88:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 88 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:101:15: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 101 | *cp = i; | ~ ^ htscodecs/htscodecs/varint.h:202:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 202 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:211:15: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 211 | *cp = i; | ~ ^ htscodecs/htscodecs/varint.h:263:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 263 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:298:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 298 | return cp-op; | ~~~~~~ ~~^~~ In file included from htscodecs/htscodecs/arith_dynamic.c:65: htscodecs/htscodecs/utils.h:71:15: warning: implicit conversion from 'long long' to 'double' may lose precision [-Wimplicit-int-float-conversion] 71 | return (u.x - 4606921278410026770) * 1.539095918623324e-16; /* 1 / 6497320848556798.0; */ | ~~~~^~~~~~~~~~~~~~~~~~~~~ ~ htscodecs/htscodecs/arith_dynamic.c:84:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 80 | return (order == 0 | ~~~~~~ ~~~~~~~~~~~ 81 | ? 1.05*size + 257*3 + 4 | ~~~~~~~~~~~~~~~~~~~~~~~ 82 | : 1.05*size + 257*257*3 + 4 + 257*3+4) + 5 + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 83 | ((order & X_PACK) ? 1 : 0) + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 84 | ((order & X_RLE) ? 1 + 257*3+4: 0) + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 85 | ((order & X_STRIPE) ? 7 + 5*N: 0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from htscodecs/htscodecs/arith_dynamic.c:90: In file included from htscodecs/htscodecs/c_simple_model.h:35: htscodecs/htscodecs/c_range_coder.h:85:36: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uc' (aka 'unsigned char') [-Wimplicit-int-conversion] 85 | *rc->out_buf++ = rc->Cache + rc->Carry; | ~ ~~~~~~~~~~^~~~~~~~~~~ htscodecs/htscodecs/c_range_coder.h:89:39: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uc' (aka 'unsigned char') [-Wimplicit-int-conversion] 89 | *rc->out_buf++ = rc->Carry-1; // (Carry-1)&255; | ~ ~~~~~~~~~^~ htscodecs/htscodecs/c_range_coder.h:105:36: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uc' (aka 'unsigned char') [-Wimplicit-int-conversion] 105 | *rc->out_buf++ = rc->Cache + rc->Carry; | ~ ~~~~~~~~~~^~~~~~~~~~~ htscodecs/htscodecs/c_range_coder.h:109:39: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uc' (aka 'unsigned char') [-Wimplicit-int-conversion] 109 | *rc->out_buf++ = rc->Carry-1; // (Carry-1)&255; | ~ ~~~~~~~~~^~ In file included from htscodecs/htscodecs/arith_dynamic.c:90: htscodecs/htscodecs/c_simple_model.h:89:26: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 89 | m->F[i].Symbol = i; | ~ ^ htscodecs/htscodecs/c_simple_model.h:93:26: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 93 | m->F[i].Symbol = i; | ~ ^ htscodecs/htscodecs/arith_dynamic.c:115:12: warning: implicit conversion loses integer precision: 'unsigned int' to 'unsigned char' [-Wimplicit-int-conversion] 115 | *out = m; | ~ ^ htscodecs/htscodecs/arith_dynamic.c:134:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 134 | *out_size = RC_OutSize(&rc)+1; | ~ ~~~~~~~~~~~~~~~^~ htscodecs/htscodecs/arith_dynamic.c:159:18: warning: implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'unsigned char' [-Wimplicit-int-conversion] 159 | out[i] = SIMPLE_MODEL(256, _decodeSymbol)(&byte_model, &rc); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/c_simple_model.h:65:27: note: expanded from macro 'SIMPLE_MODEL' 65 | #define SIMPLE_MODEL(a,b) PASTE3(SIMPLE_MODEL,a,b) | ^ htscodecs/htscodecs/c_simple_model.h:64:23: note: expanded from macro 'PASTE3' 64 | #define PASTE3(a,b,c) a##b##c | ^ :71:1: note: expanded from here 71 | SIMPLE_MODEL256_decodeSymbol | ^ htscodecs/htscodecs/arith_dynamic.c:198:12: warning: implicit conversion loses integer precision: 'unsigned int' to 'unsigned char' [-Wimplicit-int-conversion] 198 | *out = m; | ~ ^ htscodecs/htscodecs/arith_dynamic.c:220:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 220 | *out_size = RC_OutSize(&rc)+1; | ~ ~~~~~~~~~~~~~~~^~ htscodecs/htscodecs/arith_dynamic.c:254:18: warning: implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'unsigned char' [-Wimplicit-int-conversion] 254 | out[i] = SIMPLE_MODEL(256, _decodeSymbol)(&byte_model[last], &rc); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/c_simple_model.h:65:27: note: expanded from macro 'SIMPLE_MODEL' 65 | #define SIMPLE_MODEL(a,b) PASTE3(SIMPLE_MODEL,a,b) | ^ htscodecs/htscodecs/c_simple_model.h:64:23: note: expanded from macro 'PASTE3' 64 | #define PASTE3(a,b,c) a##b##c | ^ :83:1: note: expanded from here 83 | SIMPLE_MODEL256_decodeSymbol | ^ In file included from htscodecs/htscodecs/arith_dynamic.c:437: htscodecs/htscodecs/c_simple_model.h:89:26: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 89 | m->F[i].Symbol = i; | ~ ^ htscodecs/htscodecs/c_simple_model.h:93:26: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 93 | m->F[i].Symbol = i; | ~ ^ htscodecs/htscodecs/arith_dynamic.c:458:12: warning: implicit conversion loses integer precision: 'unsigned int' to 'unsigned char' [-Wimplicit-int-conversion] 458 | *out = m; | ~ ^ htscodecs/htscodecs/arith_dynamic.c:490:70: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 490 | SIMPLE_MODEL(NSYM, _encodeSymbol)(&run_model[rctx], &rc, c); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ htscodecs/htscodecs/arith_dynamic.c:509:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 509 | *out_size = RC_OutSize(&rc)+1; | ~ ~~~~~~~~~~~~~~~^~ htscodecs/htscodecs/arith_dynamic.c:548:25: warning: implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'unsigned char' [-Wimplicit-int-conversion] 548 | last = out[i] = SIMPLE_MODEL(256, _decodeSymbol)(&byte_model, &rc); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/c_simple_model.h:65:27: note: expanded from macro 'SIMPLE_MODEL' 65 | #define SIMPLE_MODEL(a,b) PASTE3(SIMPLE_MODEL,a,b) | ^ htscodecs/htscodecs/c_simple_model.h:64:23: note: expanded from macro 'PASTE3' 64 | #define PASTE3(a,b,c) a##b##c | ^ :129:1: note: expanded from here 129 | SIMPLE_MODEL256_decodeSymbol | ^ htscodecs/htscodecs/arith_dynamic.c:592:12: warning: implicit conversion loses integer precision: 'unsigned int' to 'unsigned char' [-Wimplicit-int-conversion] 592 | *out = m; | ~ ^ htscodecs/htscodecs/arith_dynamic.c:630:70: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 630 | SIMPLE_MODEL(NSYM, _encodeSymbol)(&run_model[rctx], &rc, c); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ htscodecs/htscodecs/arith_dynamic.c:650:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 650 | *out_size = RC_OutSize(&rc)+1; | ~ ~~~~~~~~~~~~~~~^~ htscodecs/htscodecs/arith_dynamic.c:696:18: warning: implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'unsigned char' [-Wimplicit-int-conversion] 696 | out[i] = SIMPLE_MODEL(256, _decodeSymbol)(&byte_model[last], &rc); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/c_simple_model.h:65:27: note: expanded from macro 'SIMPLE_MODEL' 65 | #define SIMPLE_MODEL(a,b) PASTE3(SIMPLE_MODEL,a,b) | ^ htscodecs/htscodecs/c_simple_model.h:64:23: note: expanded from macro 'PASTE3' 64 | #define PASTE3(a,b,c) a##b##c | ^ :155:1: note: expanded from here 155 | SIMPLE_MODEL256_decodeSymbol | ^ htscodecs/htscodecs/arith_dynamic.c:798:22: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 798 | *out = order & ~X_NOSZ; | ~ ~~~~~~^~~~~~~~~ htscodecs/htscodecs/arith_dynamic.c:806:29: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 806 | out[c_meta_len++] = N; | ~ ^ htscodecs/htscodecs/arith_dynamic.c:908:14: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 908 | out[0] = order; | ~ ^~~~~ htscodecs/htscodecs/arith_dynamic.c:865:35: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 865 | olen2 = *out_size - (out2 - out); | ~ ~~~~~~~~~~^~~~~~~~~~~~~~ htscodecs/htscodecs/arith_dynamic.c:884:35: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 884 | olen2 = *out_size - (out2 - out); | ~ ~~~~~~~~~~^~~~~~~~~~~~~~ htscodecs/htscodecs/arith_dynamic.c:899:38: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 899 | *out_size = c_meta_len + out2-out2_start; | ~ ~~~~~~~~~~~~~~~~~^~~~~~~~~~~ htscodecs/htscodecs/arith_dynamic.c:937:23: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 937 | in_size = packed_len; | ~ ^~~~~~~~~~ htscodecs/htscodecs/arith_dynamic.c:1086:30: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 1086 | in_size = c_meta_len + clen_tot; | ~ ~~~~~~~~~~~^~~~~~~~~~ htscodecs/htscodecs/arith_dynamic.c:1263:21: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 1263 | tmp2_size = unpacked_sz; | ~ ^~~~~~~~~~~ 39 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o htscodecs/htscodecs/fqzcomp_qual.o htscodecs/htscodecs/fqzcomp_qual.c In file included from htscodecs/htscodecs/fqzcomp_qual.c:70: htscodecs/htscodecs/varint.h:88:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 88 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:101:15: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 101 | *cp = i; | ~ ^ htscodecs/htscodecs/varint.h:202:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 202 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:211:15: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 211 | *cp = i; | ~ ^ htscodecs/htscodecs/varint.h:263:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 263 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:298:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 298 | return cp-op; | ~~~~~~ ~~^~~ In file included from htscodecs/htscodecs/fqzcomp_qual.c:71: htscodecs/htscodecs/utils.h:71:15: warning: implicit conversion from 'long long' to 'double' may lose precision [-Wimplicit-int-float-conversion] 71 | return (u.x - 4606921278410026770) * 1.539095918623324e-16; /* 1 / 6497320848556798.0; */ | ~~~~^~~~~~~~~~~~~~~~~~~~~ ~ In file included from htscodecs/htscodecs/fqzcomp_qual.c:86: In file included from htscodecs/htscodecs/c_simple_model.h:35: htscodecs/htscodecs/c_range_coder.h:85:36: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uc' (aka 'unsigned char') [-Wimplicit-int-conversion] 85 | *rc->out_buf++ = rc->Cache + rc->Carry; | ~ ~~~~~~~~~~^~~~~~~~~~~ htscodecs/htscodecs/c_range_coder.h:89:39: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uc' (aka 'unsigned char') [-Wimplicit-int-conversion] 89 | *rc->out_buf++ = rc->Carry-1; // (Carry-1)&255; | ~ ~~~~~~~~~^~ htscodecs/htscodecs/c_range_coder.h:105:36: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uc' (aka 'unsigned char') [-Wimplicit-int-conversion] 105 | *rc->out_buf++ = rc->Cache + rc->Carry; | ~ ~~~~~~~~~~^~~~~~~~~~~ htscodecs/htscodecs/c_range_coder.h:109:39: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uc' (aka 'unsigned char') [-Wimplicit-int-conversion] 109 | *rc->out_buf++ = rc->Carry-1; // (Carry-1)&255; | ~ ~~~~~~~~~^~ In file included from htscodecs/htscodecs/fqzcomp_qual.c:86: htscodecs/htscodecs/c_simple_model.h:89:26: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 89 | m->F[i].Symbol = i; | ~ ^ htscodecs/htscodecs/c_simple_model.h:93:26: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 93 | m->F[i].Symbol = i; | ~ ^ In file included from htscodecs/htscodecs/fqzcomp_qual.c:91: htscodecs/htscodecs/c_simple_model.h:89:26: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 89 | m->F[i].Symbol = i; | ~ ^ htscodecs/htscodecs/c_simple_model.h:93:26: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 93 | m->F[i].Symbol = i; | ~ ^ htscodecs/htscodecs/fqzcomp_qual.c:115:24: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 115 | tmp[k++] = r; | ~ ^ htscodecs/htscodecs/fqzcomp_qual.c:132:25: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 132 | out[++i] = j-n; | ~ ~^~ htscodecs/htscodecs/fqzcomp_qual.c:155:18: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 155 | R[j++] = run; | ~ ^~~ htscodecs/htscodecs/fqzcomp_qual.c:163:26: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 163 | R[j++] = run; | ~ ^~~ htscodecs/htscodecs/fqzcomp_qual.c:462:45: warning: implicit conversion turns floating-point number into integer: 'double' to 'uint32_t' (aka 'unsigned int') [-Wfloat-conversion] 462 | tot = last_len ? (tot*10.0)/last_len+.5 : 0; | ~ ~~~~~~~~~~~~~~~~~~~^~~ htscodecs/htscodecs/fqzcomp_qual.c:449:20: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 449 | last_len = j; | ~ ^ htscodecs/htscodecs/fqzcomp_qual.c:476:27: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 476 | pm->max_sym = i, pm->nsym++; | ~ ^ htscodecs/htscodecs/fqzcomp_qual.c:546:24: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 546 | last_len = j; | ~ ^ htscodecs/htscodecs/fqzcomp_qual.c:679:28: warning: implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'unsigned char' [-Wimplicit-int-conversion] 679 | comp[comp_idx++] = pm->context; | ~ ~~~~^~~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:682:28: warning: implicit conversion loses integer precision: 'unsigned int' to 'unsigned char' [-Wimplicit-int-conversion] 682 | comp[comp_idx++] = pm->pflags; | ~ ~~~~^~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:683:28: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 683 | comp[comp_idx++] = pm->max_sym; | ~ ~~~~^~~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:685:38: warning: implicit conversion loses integer precision: 'unsigned int' to 'unsigned char' [-Wimplicit-int-conversion] 685 | comp[comp_idx++] = (pm->qbits<<4)|pm->qshift; | ~ ~~~~~~~~~~~~~~^~~~~~~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:686:37: warning: implicit conversion loses integer precision: 'unsigned int' to 'unsigned char' [-Wimplicit-int-conversion] 686 | comp[comp_idx++] = (pm->qloc<<4)|pm->sloc; | ~ ~~~~~~~~~~~~~^~~~~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:687:37: warning: implicit conversion loses integer precision: 'unsigned int' to 'unsigned char' [-Wimplicit-int-conversion] 687 | comp[comp_idx++] = (pm->ploc<<4)|pm->dloc; | ~ ~~~~~~~~~~~~~^~~~~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:692:36: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 692 | comp[comp_idx++] = i; | ~ ^ htscodecs/htscodecs/fqzcomp_qual.c:713:28: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 713 | comp[comp_idx++] = gp->vers; // Format number | ~ ~~~~^~~~ htscodecs/htscodecs/fqzcomp_qual.c:715:28: warning: implicit conversion loses integer precision: 'unsigned int' to 'unsigned char' [-Wimplicit-int-conversion] 715 | comp[comp_idx++] = gp->gflags; | ~ ~~~~^~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:718:32: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 718 | comp[comp_idx++] = gp->nparam; | ~ ~~~~^~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:721:32: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 721 | comp[comp_idx++] = gp->max_sel; | ~ ~~~~^~~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:815:73: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 815 | pm->pshift = MAX(0, log((double)s->len[0]/(1<pbits))/log(2)+.5); | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ htscodecs/htscodecs/fqzcomp_qual.c:78:34: note: expanded from macro 'MAX' 78 | # define MAX(a,b) ((a)>(b)?(a):(b)) | ^ htscodecs/htscodecs/fqzcomp_qual.c:790:33: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 790 | s->len[i] = in_size - tlen; | ~ ~~~~~~~~^~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:860:27: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 860 | pm->qmap[i] = i; | ~ ^ htscodecs/htscodecs/fqzcomp_qual.c:868:27: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 868 | pm->qtab[i] = i; // 1:1 | ~ ^ htscodecs/htscodecs/fqzcomp_qual.c:879:50: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 879 | pm->ptab[i] = MIN((1<pbits)-1, i>>pm->pshift); | ~ ~^~~~~~~~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:77:34: note: expanded from macro 'MIN' 77 | # define MIN(a,b) ((a)<(b)?(a):(b)) | ^ htscodecs/htscodecs/fqzcomp_qual.c:945:65: warning: implicit conversion loses integer precision: 'unsigned int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 945 | SIMPLE_MODEL(256,_encodeSymbol)(&model->sel, rc, state->s); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~^ htscodecs/htscodecs/fqzcomp_qual.c:1052:60: warning: implicit conversion turns floating-point number into integer: 'double' to 'size_t' (aka 'unsigned long') [-Wfloat-conversion] 1052 | size_t comp_sz = (s->num_records*len_sz + in_size)*1.1 + 10000; | ~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:1052:47: warning: implicit conversion from 'size_t' (aka 'unsigned long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 1052 | size_t comp_sz = (s->num_records*len_sz + in_size)*1.1 + 10000; | ~ ^~~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:1154:33: warning: implicit conversion loses integer precision: 'unsigned int' to 'unsigned char' [-Wimplicit-int-conversion] 1154 | unsigned char qm1 = pm->qmap[in[i + ++j]]; | ~~~ ^~~~~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:1158:33: warning: implicit conversion loses integer precision: 'unsigned int' to 'unsigned char' [-Wimplicit-int-conversion] 1158 | unsigned char qm2 = pm->qmap[in[i + ++j]]; | ~~~ ^~~~~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:1162:33: warning: implicit conversion loses integer precision: 'unsigned int' to 'unsigned char' [-Wimplicit-int-conversion] 1162 | unsigned char qm3 = pm->qmap[in[i + ++j]]; | ~~~ ^~~~~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:1166:33: warning: implicit conversion loses integer precision: 'unsigned int' to 'unsigned char' [-Wimplicit-int-conversion] 1166 | unsigned char qm4 = pm->qmap[in[i + ++j]]; | ~~~ ^~~~~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:1178:32: warning: implicit conversion loses integer precision: 'unsigned int' to 'unsigned char' [-Wimplicit-int-conversion] 1178 | unsigned char qm = pm->qmap[in[i + ++j]]; | ~~ ^~~~~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:1060:41: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 1060 | comp_idx = var_put_u32(comp, compe, in_size); | ~~~~~~~~~~~ ^~~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:1091:41: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1090 | int len = rec < s->num_records-1 | ~~~ 1091 | ? s->len[rec] : in_size - i; | ~~~~~~~~^~~ htscodecs/htscodecs/fqzcomp_qual.c:1200:27: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1198 | int len = rec < s->num_records-1 | ~~~ 1199 | ? s->len[rec] 1200 | : in_size - i; | ~~~~~~~~^~~ htscodecs/htscodecs/fqzcomp_qual.c:1249:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 1249 | pm->context = in[in_idx] + (in[in_idx+1]<<8); | ~ ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:1281:27: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 1281 | pm->qmap[i] = i; | ~ ^ htscodecs/htscodecs/fqzcomp_qual.c:1292:31: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 1292 | pm->qtab[i] = i; | ~ ^ htscodecs/htscodecs/fqzcomp_qual.c:1424:22: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 1424 | rev_a[rec] = *rev; | ~ ^~~~ htscodecs/htscodecs/fqzcomp_qual.c:1556:31: warning: implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'unsigned char' [-Wimplicit-int-conversion] 1556 | unsigned char Q = SIMPLE_MODEL(QMAX,_decodeSymbol) | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1557 | (&model.qual[last], &rc); | ~~~~~~~~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/c_simple_model.h:65:27: note: expanded from macro 'SIMPLE_MODEL' 65 | #define SIMPLE_MODEL(a,b) PASTE3(SIMPLE_MODEL,a,b) | ^ htscodecs/htscodecs/c_simple_model.h:64:23: note: expanded from macro 'PASTE3' 64 | #define PASTE3(a,b,c) a##b##c | ^ :142:1: note: expanded from here 142 | SIMPLE_MODEL256_decodeSymbol | ^ htscodecs/htscodecs/fqzcomp_qual.c:1560:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'unsigned char' [-Wimplicit-int-conversion] 1560 | uncomp[i++] = pm->qmap[Q]; | ~ ^~~~~~~~~~~ htscodecs/htscodecs/fqzcomp_qual.c:1572:18: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 1572 | rev_a[rec] = rev; | ~ ^~~ 57 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o htscodecs/htscodecs/htscodecs.o htscodecs/htscodecs/htscodecs.c clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o htscodecs/htscodecs/pack.o htscodecs/htscodecs/pack.c htscodecs/htscodecs/pack.c:68:27: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 68 | out_meta[n] = i; | ~ ^ htscodecs/htscodecs/pack.c:71:19: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 71 | out_meta[0] = n; // 256 wraps to 0 | ~ ^ htscodecs/htscodecs/pack.c:99:40: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 99 | out[j++] = (p[data[i]]<<0) | (p[data[i+1]]<<4); | ~ ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/pack.c:101:28: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 101 | case 1: out[j++] = p[data[i]]; | ~ ^~~~~~~~~~ htscodecs/htscodecs/pack.c:108:80: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 108 | out[j++] = (p[data[i]]<<0) | (p[data[i+1]]<<2) | (p[data[i+2]]<<4) | (p[data[i+3]]<<6); | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/pack.c:124:82: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 123 | out[j++] = (p[data[i+0]]<<0) | (p[data[i+1]]<<1) | (p[data[i+2]]<<2) | (p[data[i+3]]<<3) | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | | (p[data[i+4]]<<4) | (p[data[i+5]]<<5) | (p[data[i+6]]<<6) | (p[data[i+7]]<<7); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/pack.c:93:21: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 93 | *out_meta_len = j; | ~ ^ htscodecs/htscodecs/pack.c:110:20: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 110 | int s = len-i, x = 0; | ~ ~~~^~ htscodecs/htscodecs/pack.c:126:20: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 126 | int s = len-i, x = 0; | ~ ~~~^~ htscodecs/htscodecs/pack.c:193:24: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 193 | return c < n ? 0 : j; | ~~~~~~ ^ 10 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o htscodecs/htscodecs/rANS_static4x16pr.o htscodecs/htscodecs/rANS_static4x16pr.c In file included from htscodecs/htscodecs/rANS_static4x16pr.c:64: htscodecs/htscodecs/rANS_word.h:266:30: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 266 | s->rcp_shift = shift - 1; | ~ ~~~~~~^~~ htscodecs/htscodecs/rANS_word.h:474:29: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 474 | uint16_t y = (*pptr)[0] + ((*pptr)[1]<<8); | ~ ~~~~~~~~~~~^~~~~~~~~~~~~~~~~ In file included from htscodecs/htscodecs/rANS_static4x16pr.c:66: In file included from htscodecs/htscodecs/rANS_static16_int.h:5: htscodecs/htscodecs/varint.h:88:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 88 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:101:15: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 101 | *cp = i; | ~ ^ htscodecs/htscodecs/varint.h:202:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 202 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:211:15: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 211 | *cp = i; | ~ ^ htscodecs/htscodecs/varint.h:263:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 263 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:298:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 298 | return cp-op; | ~~~~~~ ~~^~~ In file included from htscodecs/htscodecs/rANS_static4x16pr.c:66: In file included from htscodecs/htscodecs/rANS_static16_int.h:6: htscodecs/htscodecs/utils.h:71:15: warning: implicit conversion from 'long long' to 'double' may lose precision [-Wimplicit-int-float-conversion] 71 | return (u.x - 4606921278410026770) * 1.539095918623324e-16; /* 1 / 6497320848556798.0; */ | ~~~~^~~~~~~~~~~~~~~~~~~~~ ~ In file included from htscodecs/htscodecs/rANS_static4x16pr.c:66: htscodecs/htscodecs/rANS_static16_int.h:113:30: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 113 | if ((F[j] = (F[j]*tr)>>31) == 0) | ~ ~~~~~~~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:175:25: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 175 | *cp++ = j; | ~ ^ htscodecs/htscodecs/rANS_static16_int.h:180:29: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 180 | *cp++ = rle; | ~ ^~~ htscodecs/htscodecs/rANS_static16_int.h:188:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 188 | return cp - op; | ~~~~~~ ~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:237:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 237 | return cp - op; | ~~~~~~ ~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:251:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 251 | return cp - op; | ~~~~~~ ~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:271:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 271 | return cp - op; | ~~~~~~ ~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:288:31: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 288 | *cp++ = dz-1; | ~ ~~^~ htscodecs/htscodecs/rANS_static16_int.h:302:19: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 302 | *cp++ = dz-1; | ~ ~~^~ htscodecs/htscodecs/rANS_static16_int.h:305:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 305 | return cp - op; | ~~~~~~ ~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:396:17: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 396 | *out = shift<<4; | ~ ~~~~~^~~ htscodecs/htscodecs/rANS_static16_int.h:400:36: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 400 | unsigned int u_freq_sz = cp-(op+1); | ~~~~~~~~~ ~~^~~~~~~ htscodecs/htscodecs/rANS_static16_int.h:455:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 455 | return cp - op; | ~~~~~~ ~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:513:34: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 513 | fb[i][j].f = F[j]; | ~ ^~~~ htscodecs/htscodecs/rANS_static16_int.h:514:34: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 514 | fb[i][j].b = x; | ~ ^ htscodecs/htscodecs/rANS_static16_int.h:532:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 532 | return cp - cp_start; | ~~~~~~ ~~~^~~~~~~~~~ htscodecs/htscodecs/rANS_static4x16pr.c:103:51: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned int' [-Wfloat-conversion] 98 | unsigned int sz = (order == 0 | ~~ ~~~~~~~~~~~ 99 | ? 1.05*size + 257*3 + 4 | ~~~~~~~~~~~~~~~~~~~~~~~ 100 | : 1.05*size + 257*257*3 + 4 + 257*3+4) + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101 | ((order & RANS_ORDER_PACK) ? 1 : 0) + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 102 | ((order & RANS_ORDER_RLE) ? 1 + 257*3+4: 0) + 20 + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 103 | ((order & RANS_ORDER_X32) ? (32-4)*4 : 0) + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 104 | ((order & RANS_ORDER_STRIPE) ? 7 + 5*N: 0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/rANS_static4x16pr.c:158:18: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 158 | tab_size = cp-out; | ~ ~~^~~~ htscodecs/htscodecs/rANS_static4x16pr.c:206:33: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 206 | *out_size = (out_end - ptr) + tab_size; | ~ ~~~~~~~~~~~~~~~~^~~~~~~~~~ htscodecs/htscodecs/rANS_static4x16pr.c:255:32: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 255 | ssym [y + x] = j; | ~ ^ htscodecs/htscodecs/rANS_static4x16pr.c:256:32: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 256 | sfreq[y + x] = F[j]; | ~ ^~~~ htscodecs/htscodecs/rANS_static4x16pr.c:257:32: warning: implicit conversion loses integer precision: 'unsigned int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 257 | sbase[y + x] = y; | ~ ^ htscodecs/htscodecs/rANS_static4x16pr.c:433:19: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 433 | tab_size = cp - out; | ~ ~~~^~~~~ htscodecs/htscodecs/rANS_static4x16pr.c:490:33: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 490 | *out_size = (out_end - ptr) + tab_size; | ~ ~~~~~~~~~~~~~~~~^~~~~~~~~~ htscodecs/htscodecs/rANS_static4x16pr.c:609:34: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 609 | fb[i][j].f = F[j]; | ~ ^~~~ htscodecs/htscodecs/rANS_static4x16pr.c:610:34: warning: implicit conversion loses integer precision: 'unsigned int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 610 | fb[i][j].b = x; | ~ ^ htscodecs/htscodecs/rANS_static4x16pr.c:654:29: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 654 | out[i4[0]] = l0 = c; | ~ ~~~^~~ htscodecs/htscodecs/rANS_static4x16pr.c:658:29: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 658 | out[i4[1]] = l1 = c; | ~ ~~~^~~ htscodecs/htscodecs/rANS_static4x16pr.c:662:29: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 662 | out[i4[2]] = l2 = c; | ~ ~~~^~~ htscodecs/htscodecs/rANS_static4x16pr.c:666:29: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 666 | out[i4[3]] = l3 = c; | ~ ~~~^~~ htscodecs/htscodecs/rANS_static4x16pr.c:699:29: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 699 | out[i4[0]] = l0 = c; | ~ ~~~^~~ htscodecs/htscodecs/rANS_static4x16pr.c:703:29: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 703 | out[i4[1]] = l1 = c; | ~ ~~~^~~ htscodecs/htscodecs/rANS_static4x16pr.c:707:29: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 707 | out[i4[2]] = l2 = c; | ~ ~~~^~~ htscodecs/htscodecs/rANS_static4x16pr.c:711:29: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 711 | out[i4[3]] = l3 = c; | ~ ~~~^~~ htscodecs/htscodecs/rANS_static4x16pr.c:743:31: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 743 | l0 = out[i4[0]] = S0; | ~ ^~ htscodecs/htscodecs/rANS_static4x16pr.c:744:31: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 744 | l1 = out[i4[1]] = S1; | ~ ^~ htscodecs/htscodecs/rANS_static4x16pr.c:755:31: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 755 | l2 = out[i4[2]] = S2; | ~ ^~ htscodecs/htscodecs/rANS_static4x16pr.c:756:31: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 756 | l3 = out[i4[3]] = S3; | ~ ^~ htscodecs/htscodecs/rANS_static4x16pr.c:781:31: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 781 | l3 = out[i4[3]] = S; | ~ ^ htscodecs/htscodecs/rANS_static4x16pr.c:1293:22: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 1293 | *out = order & ~RANS_ORDER_NOSZ; | ~ ~~~~~~^~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/rANS_static4x16pr.c:1302:29: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 1302 | out[c_meta_len++] = N; | ~ ^ htscodecs/htscodecs/rANS_static4x16pr.c:1395:14: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 1395 | out[0] = order; | ~ ^~~~~ htscodecs/htscodecs/rANS_static4x16pr.c:1460:19: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1460 | meta[0] = rle_nsyms; | ~ ^~~~~~~~~ htscodecs/htscodecs/rANS_static4x16pr.c:1464:29: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 1464 | if (!rle || rle_len + rmeta_len >= .99*in_size) { | ~~~~~~~~^~~~~~~~~~~ ~~ htscodecs/htscodecs/rANS_static4x16pr.c:1323:35: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 1323 | olen2 = *out_size - (out2 - out); | ~ ~~~~~~~~~~^~~~~~~~~~~~~~ htscodecs/htscodecs/rANS_static4x16pr.c:1370:38: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 1370 | *out_size = c_meta_len + out2-out2_start; | ~ ~~~~~~~~~~~~~~~~~^~~~~~~~~~~ htscodecs/htscodecs/rANS_static4x16pr.c:1425:23: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 1425 | in_size = packed_len; | ~ ^~~~~~~~~~ htscodecs/htscodecs/rANS_static4x16pr.c:1462:44: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 1462 | rmeta_len = rmeta_len64 + rle_nsyms+1; | ~ ~~~~~~~~~~~~~~~~~~~~~~~^~ htscodecs/htscodecs/rANS_static4x16pr.c:1473:59: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 1473 | sz += var_put_u32(out+c_meta_len+sz, out_end, rle_len); | ~~~~~~~~~~~ ^~~~~~~ htscodecs/htscodecs/rANS_static4x16pr.c:1501:63: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 1501 | sz2 = var_put_u32(out+c_meta_len+sz, out_end, rle_len); | ~~~~~~~~~~~ ^~~~~~~ htscodecs/htscodecs/rANS_static4x16pr.c:1509:23: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 1509 | in_size = rle_len; | ~ ^~~~~~~ htscodecs/htscodecs/rANS_static4x16pr.c:1642:30: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 1642 | in_size = c_meta_len + clen_tot; | ~ ~~~~~~~~~~~^~~~~~~~~~ htscodecs/htscodecs/rANS_static4x16pr.c:1798:66: warning: implicit conversion loses integer precision: 'long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 1798 | u_meta_size = u_meta_size/2 > (in_end-meta) ? (in_end-meta) : u_meta_size/2; | ~ ~~~~~~^~~~~ htscodecs/htscodecs/rANS_static4x16pr.c:1847:33: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 1847 | tmp3_size = tmp2_size = unrle_size; | ~ ^~~~~~~~~~ htscodecs/htscodecs/rANS_static4x16pr.c:1859:21: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 1859 | tmp3_size = unpacked_sz; | ~ ^~~~~~~~~~~ 64 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o htscodecs/htscodecs/rANS_static32x16pr_avx2.o htscodecs/htscodecs/rANS_static32x16pr_avx2.c clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o htscodecs/htscodecs/rANS_static32x16pr_avx512.o htscodecs/htscodecs/rANS_static32x16pr_avx512.c clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o htscodecs/htscodecs/rANS_static32x16pr_sse4.o htscodecs/htscodecs/rANS_static32x16pr_sse4.c clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o htscodecs/htscodecs/rANS_static32x16pr_neon.o htscodecs/htscodecs/rANS_static32x16pr_neon.c In file included from htscodecs/htscodecs/rANS_static32x16pr_neon.c:41: htscodecs/htscodecs/rANS_word.h:266:30: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 266 | s->rcp_shift = shift - 1; | ~ ~~~~~~^~~ htscodecs/htscodecs/rANS_word.h:474:29: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 474 | uint16_t y = (*pptr)[0] + ((*pptr)[1]<<8); | ~ ~~~~~~~~~~~^~~~~~~~~~~~~~~~~ In file included from htscodecs/htscodecs/rANS_static32x16pr_neon.c:43: In file included from htscodecs/htscodecs/rANS_static16_int.h:5: htscodecs/htscodecs/varint.h:88:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 88 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:101:15: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 101 | *cp = i; | ~ ^ htscodecs/htscodecs/varint.h:202:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 202 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:211:15: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 211 | *cp = i; | ~ ^ htscodecs/htscodecs/varint.h:263:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 263 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:298:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 298 | return cp-op; | ~~~~~~ ~~^~~ In file included from htscodecs/htscodecs/rANS_static32x16pr_neon.c:43: In file included from htscodecs/htscodecs/rANS_static16_int.h:6: htscodecs/htscodecs/utils.h:71:15: warning: implicit conversion from 'long long' to 'double' may lose precision [-Wimplicit-int-float-conversion] 71 | return (u.x - 4606921278410026770) * 1.539095918623324e-16; /* 1 / 6497320848556798.0; */ | ~~~~^~~~~~~~~~~~~~~~~~~~~ ~ In file included from htscodecs/htscodecs/rANS_static32x16pr_neon.c:43: htscodecs/htscodecs/rANS_static16_int.h:113:30: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 113 | if ((F[j] = (F[j]*tr)>>31) == 0) | ~ ~~~~~~~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:175:25: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 175 | *cp++ = j; | ~ ^ htscodecs/htscodecs/rANS_static16_int.h:180:29: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 180 | *cp++ = rle; | ~ ^~~ htscodecs/htscodecs/rANS_static16_int.h:188:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 188 | return cp - op; | ~~~~~~ ~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:237:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 237 | return cp - op; | ~~~~~~ ~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:251:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 251 | return cp - op; | ~~~~~~ ~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:271:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 271 | return cp - op; | ~~~~~~ ~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:288:31: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 288 | *cp++ = dz-1; | ~ ~~^~ htscodecs/htscodecs/rANS_static16_int.h:302:19: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 302 | *cp++ = dz-1; | ~ ~~^~ htscodecs/htscodecs/rANS_static16_int.h:305:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 305 | return cp - op; | ~~~~~~ ~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:396:17: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 396 | *out = shift<<4; | ~ ~~~~~^~~ htscodecs/htscodecs/rANS_static16_int.h:400:36: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 400 | unsigned int u_freq_sz = cp-(op+1); | ~~~~~~~~~ ~~^~~~~~~ htscodecs/htscodecs/rANS_static16_int.h:455:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 455 | return cp - op; | ~~~~~~ ~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:513:34: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 513 | fb[i][j].f = F[j]; | ~ ^~~~ htscodecs/htscodecs/rANS_static16_int.h:514:34: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 514 | fb[i][j].b = x; | ~ ^ htscodecs/htscodecs/rANS_static16_int.h:532:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 532 | return cp - cp_start; | ~~~~~~ ~~~^~~~~~~~~~ htscodecs/htscodecs/rANS_static32x16pr_neon.c:122:18: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 122 | tab_size = cp-out; | ~ ~~^~~~ htscodecs/htscodecs/rANS_static32x16pr_neon.c:305:33: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 305 | *out_size = (out_end - ptr) + tab_size; | ~ ~~~~~~~~~~~~~~~~^~~~~~~~~~ htscodecs/htscodecs/rANS_static32x16pr_neon.c:902:26: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 902 | out[out_end + z] = s3[R[z] & mask]; | ~ ^~~~~~~~~~~~~~~ htscodecs/htscodecs/rANS_static32x16pr_neon.c:952:19: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 952 | tab_size = cp - out; | ~ ~~~^~~~~ htscodecs/htscodecs/rANS_static32x16pr_neon.c:1212:33: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 1212 | *out_size = (out_end - ptr) + tab_size; | ~ ~~~~~~~~~~~~~~~~^~~~~~~~~~ htscodecs/htscodecs/rANS_static32x16pr_neon.c:1513:34: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 1513 | fb[i][j].u.s.f = F[j]; | ~ ^~~~ htscodecs/htscodecs/rANS_static32x16pr_neon.c:1514:34: warning: implicit conversion loses integer precision: 'unsigned int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 1514 | fb[i][j].u.s.b = x; | ~ ^ 32 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o htscodecs/htscodecs/rANS_static32x16pr.o htscodecs/htscodecs/rANS_static32x16pr.c In file included from htscodecs/htscodecs/rANS_static32x16pr.c:43: htscodecs/htscodecs/rANS_word.h:266:30: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 266 | s->rcp_shift = shift - 1; | ~ ~~~~~~^~~ htscodecs/htscodecs/rANS_word.h:474:29: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 474 | uint16_t y = (*pptr)[0] + ((*pptr)[1]<<8); | ~ ~~~~~~~~~~~^~~~~~~~~~~~~~~~~ In file included from htscodecs/htscodecs/rANS_static32x16pr.c:45: In file included from htscodecs/htscodecs/rANS_static16_int.h:5: htscodecs/htscodecs/varint.h:88:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 88 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:101:15: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 101 | *cp = i; | ~ ^ htscodecs/htscodecs/varint.h:202:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 202 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:211:15: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 211 | *cp = i; | ~ ^ htscodecs/htscodecs/varint.h:263:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 263 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:298:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 298 | return cp-op; | ~~~~~~ ~~^~~ In file included from htscodecs/htscodecs/rANS_static32x16pr.c:45: In file included from htscodecs/htscodecs/rANS_static16_int.h:6: htscodecs/htscodecs/utils.h:71:15: warning: implicit conversion from 'long long' to 'double' may lose precision [-Wimplicit-int-float-conversion] 71 | return (u.x - 4606921278410026770) * 1.539095918623324e-16; /* 1 / 6497320848556798.0; */ | ~~~~^~~~~~~~~~~~~~~~~~~~~ ~ In file included from htscodecs/htscodecs/rANS_static32x16pr.c:45: htscodecs/htscodecs/rANS_static16_int.h:113:30: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 113 | if ((F[j] = (F[j]*tr)>>31) == 0) | ~ ~~~~~~~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:175:25: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 175 | *cp++ = j; | ~ ^ htscodecs/htscodecs/rANS_static16_int.h:180:29: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 180 | *cp++ = rle; | ~ ^~~ htscodecs/htscodecs/rANS_static16_int.h:188:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 188 | return cp - op; | ~~~~~~ ~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:237:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 237 | return cp - op; | ~~~~~~ ~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:251:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 251 | return cp - op; | ~~~~~~ ~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:271:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 271 | return cp - op; | ~~~~~~ ~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:288:31: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 288 | *cp++ = dz-1; | ~ ~~^~ htscodecs/htscodecs/rANS_static16_int.h:302:19: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 302 | *cp++ = dz-1; | ~ ~~^~ htscodecs/htscodecs/rANS_static16_int.h:305:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 305 | return cp - op; | ~~~~~~ ~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:396:17: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 396 | *out = shift<<4; | ~ ~~~~~^~~ htscodecs/htscodecs/rANS_static16_int.h:400:36: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 400 | unsigned int u_freq_sz = cp-(op+1); | ~~~~~~~~~ ~~^~~~~~~ htscodecs/htscodecs/rANS_static16_int.h:455:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 455 | return cp - op; | ~~~~~~ ~~~^~~~ htscodecs/htscodecs/rANS_static16_int.h:513:34: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 513 | fb[i][j].f = F[j]; | ~ ^~~~ htscodecs/htscodecs/rANS_static16_int.h:514:34: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 514 | fb[i][j].b = x; | ~ ^ htscodecs/htscodecs/rANS_static16_int.h:532:15: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 532 | return cp - cp_start; | ~~~~~~ ~~~^~~~~~~~~~ htscodecs/htscodecs/rANS_static32x16pr.c:114:18: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 114 | tab_size = cp-out; | ~ ~~^~~~ htscodecs/htscodecs/rANS_static32x16pr.c:235:58: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 235 | uint32_t q = (r64 * sy[k]->rcp_freq) >> sy[k]->rcp_shift; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/rANS_static32x16pr.c:247:33: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 247 | *out_size = (out_end - ptr) + tab_size; | ~ ~~~~~~~~~~~~~~~~^~~~~~~~~~ htscodecs/htscodecs/rANS_static32x16pr.c:329:26: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 329 | out[i+z+0] = S[0]; | ~ ^~~~ htscodecs/htscodecs/rANS_static32x16pr.c:330:26: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 330 | out[i+z+1] = S[1]; | ~ ^~~~ htscodecs/htscodecs/rANS_static32x16pr.c:331:26: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 331 | out[i+z+2] = S[2]; | ~ ^~~~ htscodecs/htscodecs/rANS_static32x16pr.c:332:26: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 332 | out[i+z+3] = S[3]; | ~ ^~~~ htscodecs/htscodecs/rANS_static32x16pr.c:355:30: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 355 | out[i+z+0] = S[0]; | ~ ^~~~ htscodecs/htscodecs/rANS_static32x16pr.c:356:30: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 356 | out[i+z+1] = S[1]; | ~ ^~~~ htscodecs/htscodecs/rANS_static32x16pr.c:357:30: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 357 | out[i+z+2] = S[2]; | ~ ^~~~ htscodecs/htscodecs/rANS_static32x16pr.c:358:30: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 358 | out[i+z+3] = S[3]; | ~ ^~~~ htscodecs/htscodecs/rANS_static32x16pr.c:386:26: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 386 | out[i+z+0] = S[0]; | ~ ^~~~ htscodecs/htscodecs/rANS_static32x16pr.c:387:26: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 387 | out[i+z+1] = S[1]; | ~ ^~~~ htscodecs/htscodecs/rANS_static32x16pr.c:388:26: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 388 | out[i+z+2] = S[2]; | ~ ^~~~ htscodecs/htscodecs/rANS_static32x16pr.c:389:26: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 389 | out[i+z+3] = S[3]; | ~ ^~~~ htscodecs/htscodecs/rANS_static32x16pr.c:399:28: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 399 | out[out_end + z] = s3[R[z] & mask]; | ~ ^~~~~~~~~~~~~~~ htscodecs/htscodecs/rANS_static32x16pr.c:448:19: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 448 | tab_size = cp - out; | ~ ~~~^~~~~ htscodecs/htscodecs/rANS_static32x16pr.c:502:54: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 502 | uint32_t q = (r64 * sy[k]->rcp_freq) >> sy[k]->rcp_shift; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/rANS_static32x16pr.c:514:33: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 514 | *out_size = (out_end - ptr) + tab_size; | ~ ~~~~~~~~~~~~~~~~^~~~~~~~~~ htscodecs/htscodecs/rANS_static32x16pr.c:652:41: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 652 | out[i4[z+0]++] = l[z+0] = c[0]; | ~ ~~~~~~~^~~~~~ htscodecs/htscodecs/rANS_static32x16pr.c:653:41: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 653 | out[i4[z+1]++] = l[z+1] = c[1]; | ~ ~~~~~~~^~~~~~ htscodecs/htscodecs/rANS_static32x16pr.c:654:41: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 654 | out[i4[z+2]++] = l[z+2] = c[2]; | ~ ~~~~~~~^~~~~~ htscodecs/htscodecs/rANS_static32x16pr.c:655:41: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 655 | out[i4[z+3]++] = l[z+3] = c[3]; | ~ ~~~~~~~^~~~~~ htscodecs/htscodecs/rANS_static32x16pr.c:695:43: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 695 | l[z+0] = out[i4[z+0]++] = S[0]; | ~ ^~~~ htscodecs/htscodecs/rANS_static32x16pr.c:696:43: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 696 | l[z+1] = out[i4[z+1]++] = S[1]; | ~ ^~~~ htscodecs/htscodecs/rANS_static32x16pr.c:697:43: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 697 | l[z+2] = out[i4[z+2]++] = S[2]; | ~ ^~~~ htscodecs/htscodecs/rANS_static32x16pr.c:698:43: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned char' [-Wimplicit-int-conversion] 698 | l[z+3] = out[i4[z+3]++] = S[3]; | ~ ^~~~ 52 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o htscodecs/htscodecs/rANS_static.o htscodecs/htscodecs/rANS_static.c In file included from htscodecs/htscodecs/rANS_static.c:40: In file included from htscodecs/htscodecs/rANS_byte.h:23: htscodecs/htscodecs/utils.h:71:15: warning: implicit conversion from 'long long' to 'double' may lose precision [-Wimplicit-int-float-conversion] 71 | return (u.x - 4606921278410026770) * 1.539095918623324e-16; /* 1 / 6497320848556798.0; */ | ~~~~^~~~~~~~~~~~~~~~~~~~~ ~ In file included from htscodecs/htscodecs/rANS_static.c:40: htscodecs/htscodecs/rANS_byte.h:260:30: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 260 | s->rcp_shift = shift - 1; | ~ ~~~~~~^~~ htscodecs/htscodecs/rANS_byte.h:352:15: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 352 | ptr[-1] = x0; | ~ ^~ htscodecs/htscodecs/rANS_byte.h:356:18: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 356 | *--ptr = x0; | ~ ^~ htscodecs/htscodecs/rANS_byte.h:362:15: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 362 | ptr[-1] = x1; | ~ ^~ htscodecs/htscodecs/rANS_byte.h:366:18: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 366 | *--ptr = x1; | ~ ^~ htscodecs/htscodecs/rANS_byte.h:372:15: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 372 | ptr[-1] = x2; | ~ ^~ htscodecs/htscodecs/rANS_byte.h:376:18: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 376 | *--ptr = x2; | ~ ^~ htscodecs/htscodecs/rANS_byte.h:382:15: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 382 | ptr[-1] = x3; | ~ ^~ htscodecs/htscodecs/rANS_byte.h:386:18: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 386 | *--ptr = x3; | ~ ^~ htscodecs/htscodecs/rANS_static.c:77:62: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned long' [-Wfloat-conversion] 77 | unsigned char *out_buf = malloc(1.05*in_size + 257*257*3 + 9); | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ htscodecs/htscodecs/rANS_static.c:137:25: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 137 | *cp++ = j; | ~ ^ htscodecs/htscodecs/rANS_static.c:142:29: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 142 | *cp++ = rle; | ~ ^~~ htscodecs/htscodecs/rANS_static.c:149:25: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 149 | *cp++ = F[j]; | ~ ^~~~ htscodecs/htscodecs/rANS_static.c:151:29: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 151 | *cp++ = 128 | (F[j]>>8); | ~ ~~~~^~~~~~~~~~~ htscodecs/htscodecs/rANS_static.c:110:30: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 110 | if ((F[j] = (F[j]*tr)>>31) == 0) | ~ ~~~~~~~~~^~~~ htscodecs/htscodecs/rANS_static.c:161:18: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 161 | tab_size = cp-out_buf; | ~ ~~^~~~~~~~ htscodecs/htscodecs/rANS_static.c:196:33: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 196 | *out_size = (out_end - ptr) + tab_size; | ~ ~~~~~~~~~~~~~~~~^~~~~~~~~~ htscodecs/htscodecs/rANS_static.c:282:28: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 282 | ssym [y + C] = j; | ~ ^ htscodecs/htscodecs/rANS_static.c:283:28: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 283 | sfreq[y + C] = F; | ~ ^ htscodecs/htscodecs/rANS_static.c:357:24: warning: implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'char' [-Wimplicit-int-conversion] 357 | out_buf[i+0] = ssym[m[0]]; | ~ ^~~~~~~~~~ htscodecs/htscodecs/rANS_static.c:358:24: warning: implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'char' [-Wimplicit-int-conversion] 358 | out_buf[i+1] = ssym[m[1]]; | ~ ^~~~~~~~~~ htscodecs/htscodecs/rANS_static.c:359:24: warning: implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'char' [-Wimplicit-int-conversion] 359 | out_buf[i+2] = ssym[m[2]]; | ~ ^~~~~~~~~~ htscodecs/htscodecs/rANS_static.c:360:24: warning: implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'char' [-Wimplicit-int-conversion] 360 | out_buf[i+3] = ssym[m[3]]; | ~ ^~~~~~~~~~ htscodecs/htscodecs/rANS_static.c:366:32: warning: implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'char' [-Wimplicit-int-conversion] 366 | out_buf[out_end + 2] = ssym[R[2] & mask]; | ~ ^~~~~~~~~~~~~~~~~ htscodecs/htscodecs/rANS_static.c:369:32: warning: implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'char' [-Wimplicit-int-conversion] 369 | out_buf[out_end + 1] = ssym[R[1] & mask]; | ~ ^~~~~~~~~~~~~~~~~ htscodecs/htscodecs/rANS_static.c:372:28: warning: implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'char' [-Wimplicit-int-conversion] 372 | out_buf[out_end] = ssym[R[0] & mask]; | ~ ^~~~~~~~~~~~~~~~~ htscodecs/htscodecs/rANS_static.c:410:47: warning: implicit conversion turns floating-point number into integer: 'double' to 'unsigned long' [-Wfloat-conversion] 410 | out_buf = malloc(1.05*in_size + 257*257*3 + 9); | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ htscodecs/htscodecs/rANS_static.c:447:26: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 447 | if ((F[i][j] *= p) == 0) | ~~~~~~~~^~~~ htscodecs/htscodecs/rANS_static.c:467:21: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 467 | *cp++ = i; | ~ ^ htscodecs/htscodecs/rANS_static.c:474:25: warning: implicit conversion loses integer precision: 'unsigned int' to 'unsigned char' [-Wimplicit-int-conversion] 474 | *cp++ = rle_i; | ~ ^~~~~ htscodecs/htscodecs/rANS_static.c:489:29: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 489 | *cp++ = j; | ~ ^ htscodecs/htscodecs/rANS_static.c:494:33: warning: implicit conversion loses integer precision: 'unsigned int' to 'unsigned char' [-Wimplicit-int-conversion] 494 | *cp++ = rle_j; | ~ ^~~~~ htscodecs/htscodecs/rANS_static.c:500:29: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 500 | *cp++ = F_i_[j]; | ~ ^~~~~~~ htscodecs/htscodecs/rANS_static.c:502:33: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wimplicit-int-conversion] 502 | *cp++ = 128 | (F_i_[j]>>8); | ~ ~~~~^~~~~~~~~~~~~~ htscodecs/htscodecs/rANS_static.c:515:19: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 515 | tab_size = cp - out_buf; | ~ ~~~^~~~~~~~~ htscodecs/htscodecs/rANS_static.c:575:33: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32] 575 | *out_size = (out_end - ptr) + tab_size; | ~ ~~~~~~~~~~~~~~~~^~~~~~~~~~ 37 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o htscodecs/htscodecs/rle.o htscodecs/htscodecs/rle.c In file included from htscodecs/htscodecs/rle.c:41: htscodecs/htscodecs/varint.h:88:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 88 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:101:15: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 101 | *cp = i; | ~ ^ htscodecs/htscodecs/varint.h:202:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 202 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:211:15: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 211 | *cp = i; | ~ ^ htscodecs/htscodecs/varint.h:263:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 263 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:298:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 298 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/rle.c:95:29: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 95 | rle_syms[n++] = i; | ~ ^ htscodecs/htscodecs/rle.c:124:24: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 124 | int rlen = i; | ~~~~ ^ htscodecs/htscodecs/rle.c:129:21: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 129 | rlen = i-rlen; | ~ ~^~~~~ 9 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o htscodecs/htscodecs/tokenise_name3.o htscodecs/htscodecs/tokenise_name3.c In file included from htscodecs/htscodecs/tokenise_name3.c:107: htscodecs/htscodecs/varint.h:88:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 88 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:101:15: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 101 | *cp = i; | ~ ^ htscodecs/htscodecs/varint.h:202:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 202 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:211:15: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 211 | *cp = i; | ~ ^ htscodecs/htscodecs/varint.h:263:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 263 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/varint.h:298:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 298 | return cp-op; | ~~~~~~ ~~^~~ In file included from htscodecs/htscodecs/tokenise_name3.c:108: htscodecs/htscodecs/utils.h:71:15: warning: implicit conversion from 'long long' to 'double' may lose precision [-Wimplicit-int-float-conversion] 71 | return (u.x - 4606921278410026770) * 1.539095918623324e-16; /* 1 / 6497320848556798.0; */ | ~~~~^~~~~~~~~~~~~~~~~~~~~ ~ htscodecs/htscodecs/tokenise_name3.c:236:34: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 236 | case 8:*cp++ = i / 10000000 + '0', i %= 10000000; // fall-through | ~ ~~~~~~~~~~~~~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:237:34: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 237 | case 7:*cp++ = i / 1000000 + '0', i %= 1000000; // fall-through | ~ ~~~~~~~~~~~~~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:238:34: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 238 | case 6:*cp++ = i / 100000 + '0', i %= 100000; // fall-through | ~ ~~~~~~~~~~~~~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:239:34: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 239 | case 5:*cp++ = i / 10000 + '0', i %= 10000; // fall-through | ~ ~~~~~~~~~~~~~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:240:34: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 240 | case 4:*cp++ = i / 1000 + '0', i %= 1000; // fall-through | ~ ~~~~~~~~~~~~~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:241:34: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 241 | case 3:*cp++ = i / 100 + '0', i %= 100; // fall-through | ~ ~~~~~~~~~~~~~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:242:34: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 242 | case 2:*cp++ = i / 10 + '0', i %= 10; // fall-through | ~ ~~~~~~~~~~~~~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:243:34: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 243 | case 1:*cp++ = i + '0'; // fall-throuhg | ~ ~~~~~~~~~~~~~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:262:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 262 | if ((j = i / 1000000000)) {*cp++ = j + '0'; i -= j*1000000000; goto x8;} | ~ ~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:263:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 263 | if ((j = i / 100000000)) {*cp++ = j + '0'; i -= j*100000000; goto x7;} | ~ ~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:264:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 264 | b7:if ((j = i / 10000000)) {*cp++ = j + '0'; i -= j*10000000; goto x6;} | ~ ~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:265:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 265 | if ((j = i / 1000000)) {*cp++ = j + '0', i -= j*1000000; goto x5;} | ~ ~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:266:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 266 | b5:if ((j = i / 100000)) {*cp++ = j + '0', i -= j*100000; goto x4;} | ~ ~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:267:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 267 | if ((j = i / 10000)) {*cp++ = j + '0', i -= j*10000; goto x3;} | ~ ~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:268:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 268 | b3:if ((j = i / 1000)) {*cp++ = j + '0', i -= j*1000; goto x2;} | ~ ~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:269:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 269 | if ((j = i / 100)) {*cp++ = j + '0', i -= j*100; goto x1;} | ~ ~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:270:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 270 | b1:if ((j = i / 10)) {*cp++ = j + '0', i -= j*10; goto x0;} | ~ ~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:271:42: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 271 | if (i) *cp++ = i + '0'; | ~ ~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:275:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 275 | x7:*cp++ = i / 10000000 + '0', i %= 10000000; | ~ ~~~~~~~~~~~~~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:276:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 276 | x6:*cp++ = i / 1000000 + '0', i %= 1000000; | ~ ~~~~~~~~~~~~~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:277:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 277 | x5:*cp++ = i / 100000 + '0', i %= 100000; | ~ ~~~~~~~~~~~~~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:278:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 278 | x4:*cp++ = i / 10000 + '0', i %= 10000; | ~ ~~~~~~~~~~~~~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:279:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 279 | x3:*cp++ = i / 1000 + '0', i %= 1000; | ~ ~~~~~~~~~~~~~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:280:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 280 | x2:*cp++ = i / 100 + '0', i %= 100; | ~ ~~~~~~~~~~~~~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:281:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 281 | x1:*cp++ = i / 10 + '0', i %= 10; | ~ ~~~~~~~~~~~~~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:282:27: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'char' [-Wimplicit-int-conversion] 282 | x0:*cp++ = i + '0'; | ~ ~~~~~~~~~~~~~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:272:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 272 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/tokenise_name3.c:284:14: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 284 | return cp-op; | ~~~~~~ ~~^~~ htscodecs/htscodecs/tokenise_name3.c:318:48: warning: implicit conversion loses integer precision: 'enum name_type' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 318 | ctx->desc[id].buf[ctx->desc[id].buf_l++] = type; | ~ ^~~~ htscodecs/htscodecs/tokenise_name3.c:378:48: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 378 | ctx->desc[id].buf[ctx->desc[id].buf_l++] = val; | ~ ^~~ htscodecs/htscodecs/tokenise_name3.c:389:48: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 389 | ctx->desc[id].buf[ctx->desc[id].buf_l++] = val; | ~ ^~~ htscodecs/htscodecs/tokenise_name3.c:602:33: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 602 | int l = *data == '@' ? len-1 : len; | ~ ~~~^~ htscodecs/htscodecs/tokenise_name3.c:602:39: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 602 | int l = *data == '@' ? len-1 : len; | ~ ^~~ htscodecs/htscodecs/tokenise_name3.c:633:27: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 633 | *fixed_len = i+1; | ~ ~^~ htscodecs/htscodecs/tokenise_name3.c:634:27: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 634 | prefix_len = i+1; | ~ ~^~ htscodecs/htscodecs/tokenise_name3.c:1095:55: warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1095 | len += append_uint32_fixed(&name[len], v, vl); | ~~~~~~~~~~~~~~~~~~~ ^~ htscodecs/htscodecs/tokenise_name3.c:1107:80: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1107 | len += append_uint32_fixed(&name[len], v, ctx->lc[pnum].last[ntok].token_str); | ~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ htscodecs/htscodecs/tokenise_name3.c:1143:56: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 1143 | name[len++] = ctx->lc[pnum].last[ntok].token_int; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ htscodecs/htscodecs/tokenise_name3.c:1172:117: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1172 | len += append_uint32_fixed(&name[len], ctx->lc[pnum].last[ntok].token_int, ctx->lc[pnum].last[ntok].token_str); | ~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ htscodecs/htscodecs/tokenise_name3.c:1055:28: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 1055 | return strlen(name)+1; | ~~~~~~ ~~~~~~~~~~~~^~ htscodecs/htscodecs/tokenise_name3.c:1213:33: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 1213 | unsigned int olen = *out_len-6, nb; | ~~~~ ~~~~~~~~^~ htscodecs/htscodecs/tokenise_name3.c:1214:31: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 1214 | if (arith_compress_to(in, in_len, out+6, &olen, method) == NULL) | ~~~~~~~~~~~~~~~~~ ^~~~~~ htscodecs/htscodecs/tokenise_name3.c:1227:25: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 1227 | unsigned int olen = *out_len; | ~~~~ ^~~~~~~~ htscodecs/htscodecs/tokenise_name3.c:1232:42: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 1232 | if (arith_uncompress_to(in+nb, in_len-nb, out, &olen) == NULL) | ~~~~~~~~~~~~~~~~~~~ ~~~~~~^~~ htscodecs/htscodecs/tokenise_name3.c:1240:33: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 1240 | unsigned int olen = *out_len-6, nb; | ~~~~ ~~~~~~~~^~ htscodecs/htscodecs/tokenise_name3.c:1241:35: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 1241 | if (rans_compress_to_4x16(in, in_len, out+6, &olen, method) == NULL) | ~~~~~~~~~~~~~~~~~~~~~ ^~~~~~ htscodecs/htscodecs/tokenise_name3.c:1254:25: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 1254 | unsigned int olen = *out_len; | ~~~~ ^~~~~~~~ htscodecs/htscodecs/tokenise_name3.c:1259:46: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'unsigned int' [-Wshorten-64-to-32] 1259 | if (rans_uncompress_to_4x16(in+nb, in_len-nb, out, &olen) == NULL) | ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~^~~ htscodecs/htscodecs/tokenise_name3.c:1434:11: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1433 | return use_arith | ~~~~~~ 1434 | ? arith_decode(in, in_len, out, out_len) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/tokenise_name3.c:1435:11: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1433 | return use_arith | ~~~~~~ 1434 | ? arith_decode(in, in_len, out, out_len) 1435 | : rans_decode(in, in_len, out, out_len); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/tokenise_name3.c:1565:32: warning: implicit conversion turns floating-point number into integer: 'double' to 'uint64_t' (aka 'unsigned long long') [-Wfloat-conversion] 1565 | uint64_t out_len = 1.5 * arith_compress_bound(ctx->desc[i].buf_l, 1); // guesswork | ~~~~~~~ ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ htscodecs/htscodecs/tokenise_name3.c:1635:13: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1635 | *cp++ = use_arith; | ~ ^~~~~~~~~ htscodecs/htscodecs/tokenise_name3.c:1640:39: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1640 | uint8_t ttype8 = ctx->desc[i].ttype; | ~~~~~~ ~~~~~~~~~~~~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:1648:43: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1648 | *cp++ = ctx->desc[i].dup_from >> 4; | ~ ~~~~~~~~~~~~~~~~~~~~~~^~~~ htscodecs/htscodecs/tokenise_name3.c:1565:68: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32] 1565 | uint64_t out_len = 1.5 * arith_compress_bound(ctx->desc[i].buf_l, 1); // guesswork | ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~^~~~~ htscodecs/htscodecs/tokenise_name3.c:1826:16: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32] 1826 | *out_len = out_sz; | ~ ^~~~~~ 63 warnings generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o htscodecs/htscodecs/utils.o htscodecs/htscodecs/utils.c In file included from htscodecs/htscodecs/utils.c:41: htscodecs/htscodecs/utils.h:71:15: warning: implicit conversion from 'long long' to 'double' may lose precision [-Wimplicit-int-float-conversion] 71 | return (u.x - 4606921278410026770) * 1.539095918623324e-16; /* 1 / 6497320848556798.0; */ | ~~~~^~~~~~~~~~~~~~~~~~~~~ ~ 1 warning generated. clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -DPLUGINPATH=\"/Users/ripley/R/packages/tests-devel/Rduckhts/inst/duckhts_extension/htslib/libexec/htslib\" -c -o plugin.o plugin.c In file included from plugin.c:35: In file included from ./hts_internal.h:30: In file included from ./htslib/hts.h:37: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from plugin.c:35: In file included from ./hts_internal.h:30: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from plugin.c:35: In file included from ./hts_internal.h:31: ./textutils_internal.h:179:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 179 | static inline char tolower_c(char c) { return tolower((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:180:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | static inline char toupper_c(char c) { return toupper((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:416:9: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 416 | d = n / D[v - start - point]; | ^ ~ ./textutils_internal.h:399:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 399 | point = v - start; | ~ ~~^~~~~~~ ./textutils_internal.h:405:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | point = v - start; | ~ ~~^~~~~~~ 14 warnings generated. ar -rc libhts.a kfunc.o kstring.o bcf_sr_sort.o bgzf.o errmod.o faidx.o header.o hfile.o hts.o hts_expr.o hts_os.o md5.o multipart.o probaln.o realn.o regidx.o region.o sam.o sam_mods.o simd.o synced_bcf_reader.o vcf_sweep.o tbx.o textutils.o thread_pool.o vcf.o vcfutils.o cram/cram_codecs.o cram/cram_decode.o cram/cram_encode.o cram/cram_external.o cram/cram_index.o cram/cram_io.o cram/cram_stats.o cram/mFILE.o cram/open_trace_file.o cram/pooled_alloc.o cram/string_alloc.o htscodecs/htscodecs/arith_dynamic.o htscodecs/htscodecs/fqzcomp_qual.o htscodecs/htscodecs/htscodecs.o htscodecs/htscodecs/pack.o htscodecs/htscodecs/rANS_static4x16pr.o htscodecs/htscodecs/rANS_static32x16pr_avx2.o htscodecs/htscodecs/rANS_static32x16pr_avx512.o htscodecs/htscodecs/rANS_static32x16pr_sse4.o htscodecs/htscodecs/rANS_static32x16pr_neon.o htscodecs/htscodecs/rANS_static32x16pr.o htscodecs/htscodecs/rANS_static.o htscodecs/htscodecs/rle.o htscodecs/htscodecs/tokenise_name3.o htscodecs/htscodecs/utils.o plugin.o ranlib libhts.a clang -dynamiclib -install_name /Users/ripley/R/packages/tests-devel/Rduckhts/inst/duckhts_extension/htslib/lib/libhts.3.dylib -current_version 3.1.24 -compatibility_version 3.1.24 -L/opt/R/arm64/lib -L/opt/homebrew/opt/openssl@3/lib -L/opt/homebrew/lib -fvisibility=hidden -rdynamic -o libhts.dylib kfunc.o kstring.o bcf_sr_sort.o bgzf.o errmod.o faidx.o header.o hfile.o hts.o hts_expr.o hts_os.o md5.o multipart.o probaln.o realn.o regidx.o region.o sam.o sam_mods.o simd.o synced_bcf_reader.o vcf_sweep.o tbx.o textutils.o thread_pool.o vcf.o vcfutils.o cram/cram_codecs.o cram/cram_decode.o cram/cram_encode.o cram/cram_external.o cram/cram_index.o cram/cram_io.o cram/cram_stats.o cram/mFILE.o cram/open_trace_file.o cram/pooled_alloc.o cram/string_alloc.o htscodecs/htscodecs/arith_dynamic.o htscodecs/htscodecs/fqzcomp_qual.o htscodecs/htscodecs/htscodecs.o htscodecs/htscodecs/pack.o htscodecs/htscodecs/rANS_static4x16pr.o htscodecs/htscodecs/rANS_static32x16pr_avx2.o htscodecs/htscodecs/rANS_static32x16pr_avx512.o htscodecs/htscodecs/rANS_static32x16pr_sse4.o htscodecs/htscodecs/rANS_static32x16pr_neon.o htscodecs/htscodecs/rANS_static32x16pr.o htscodecs/htscodecs/rANS_static.o htscodecs/htscodecs/rle.o htscodecs/htscodecs/tokenise_name3.o htscodecs/htscodecs/utils.o plugin.o -ldeflate -llzma -lbz2 -lz -lz -lbz2 -llzma -lcurl -L/opt/R/arm64/lib -lssl -lcrypto -lpthread ld: warning: ignoring duplicate libraries: '-lbz2', '-llzma', '-lz' ln -sf libhts.dylib libhts.3.dylib clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o hfile_libcurl.o hfile_libcurl.c In file included from hfile_libcurl.c:40: In file included from ./hfile_internal.h:31: ./htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ In file included from hfile_libcurl.c:40: In file included from ./hfile_internal.h:33: In file included from ./textutils_internal.h:32: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from hfile_libcurl.c:40: In file included from ./hfile_internal.h:33: ./textutils_internal.h:179:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 179 | static inline char tolower_c(char c) { return tolower((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:180:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | static inline char toupper_c(char c) { return toupper((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:416:9: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 416 | d = n / D[v - start - point]; | ^ ~ ./textutils_internal.h:399:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 399 | point = v - start; | ~ ~~^~~~~~~ ./textutils_internal.h:405:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | point = v - start; | ~ ~~^~~~~~~ In file included from hfile_libcurl.c:44: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ hfile_libcurl.c:180:20: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 180 | return lval; | ~~~~~~ ^~~~ hfile_libcurl.c:194:38: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 194 | return http_status_errno(lval); | ~~~~~~~~~~~~~~~~~ ^~~~ 17 warnings generated. clang -bundle -Wl,-undefined,dynamic_lookup -L/opt/R/arm64/lib -L/opt/homebrew/opt/openssl@3/lib -L/opt/homebrew/lib -fvisibility=hidden -rdynamic -o hfile_libcurl.bundle hfile_libcurl.o -ldeflate -llzma -lbz2 -lz -lz -lbz2 -llzma -lcurl -L/opt/R/arm64/lib -lssl -lcrypto -lpthread -lcurl ld: warning: ignoring duplicate libraries: '-lbz2', '-lcurl', '-llzma', '-lz' clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o hfile_gcs.o hfile_gcs.c In file included from hfile_gcs.c:34: In file included from ./htslib/hts.h:37: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from hfile_gcs.c:34: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from hfile_gcs.c:36: In file included from ./hfile_internal.h:31: ./htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ In file included from hfile_gcs.c:36: In file included from ./hfile_internal.h:33: ./textutils_internal.h:179:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 179 | static inline char tolower_c(char c) { return tolower((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:180:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | static inline char toupper_c(char c) { return toupper((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:416:9: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 416 | d = n / D[v - start - point]; | ^ ~ ./textutils_internal.h:399:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 399 | point = v - start; | ~ ~~^~~~~~~ ./textutils_internal.h:405:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | point = v - start; | ~ ~~^~~~~~~ 15 warnings generated. clang -bundle -Wl,-undefined,dynamic_lookup -L/opt/R/arm64/lib -L/opt/homebrew/opt/openssl@3/lib -L/opt/homebrew/lib -fvisibility=hidden -rdynamic -o hfile_gcs.bundle hfile_gcs.o -ldeflate -llzma -lbz2 -lz -lz -lbz2 -llzma -lcurl -L/opt/R/arm64/lib -lssl -lcrypto -lpthread ld: warning: ignoring duplicate libraries: '-lbz2', '-llzma', '-lz' clang -falign-functions=8 -g -O2 -Wall -pedantic -Wconversion -Wno-sign-conversion -Wstrict-prototypes -fPIC -O2 -fPIC -D_FILE_OFFSET_BITS=64 -std=gnu17 -fvisibility=hidden -I. -isystem /opt/R/arm64/include -DNDEBUG -I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/R/arm64/include -c -o hfile_s3.o hfile_s3.c In file included from hfile_s3.c:38: In file included from ./hfile_internal.h:31: ./htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ In file included from hfile_s3.c:38: In file included from ./hfile_internal.h:33: In file included from ./textutils_internal.h:32: ./htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from hfile_s3.c:38: In file included from ./hfile_internal.h:33: ./textutils_internal.h:179:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 179 | static inline char tolower_c(char c) { return tolower((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:180:47: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 180 | static inline char toupper_c(char c) { return toupper((unsigned char) c); } | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./textutils_internal.h:416:9: warning: implicit conversion from 'uint64_t' (aka 'unsigned long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 416 | d = n / D[v - start - point]; | ^ ~ ./textutils_internal.h:399:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 399 | point = v - start; | ~ ~~^~~~~~~ ./textutils_internal.h:405:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | point = v - start; | ~ ~~^~~~~~~ In file included from hfile_s3.c:42: ./htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from hfile_s3.c:45: ./hts_time_funcs.h:57:17: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 57 | *tens = tmp; | ~ ^~~ ./hts_time_funcs.h:117:22: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 117 | t->tm_year = year; | ~ ^~~~ ./hts_time_funcs.h:154:9: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 153 | leaps = (hts_leaps_to_year_start(target->tm_year + 1900) | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 154 | - hts_leaps_to_year_start(1970)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hfile_s3.c:124:19: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'CC_LONG' (aka 'unsigned int') [-Wshorten-64-to-32] 124 | CC_SHA256(in, length, out); | ~~~~~~~~~ ^~~~~~ hfile_s3.c:175:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 175 | kputc(strtol(buf, NULL, 16), str); | ~~~~~ ^~~~~~~~~~~~~~~~~~~~~ hfile_s3.c:412:28: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 412 | escaped[j++] = c; | ~ ^ hfile_s3.c:443:28: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 443 | escaped[j++] = c; | ~ ^ hfile_s3.c:584:42: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 584 | urldecode_kput(bucket, colon - bucket, &ad->profile); | ~~~~~~~~~~~~~~ ~~~~~~^~~~~~~~ hfile_s3.c:588:42: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 588 | urldecode_kput(bucket, colon - bucket, &ad->id); | ~~~~~~~~~~~~~~ ~~~~~~^~~~~~~~ hfile_s3.c:589:46: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 589 | urldecode_kput(&colon[1], colon2 - &colon[1], &ad->secret); | ~~~~~~~~~~~~~~ ~~~~~~~^~~~~~~~~~~ hfile_s3.c:591:49: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 591 | urldecode_kput(&colon2[1], path - &colon2[1], &ad->token); | ~~~~~~~~~~~~~~ ~~~~~^~~~~~~~~~~~ hfile_s3.c:869:101: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 869 | s3_sign_sha256(secret_access_key.s, secret_access_key.l, (const unsigned char *)ad->date_short, strlen(ad->date_short), date_key, &len); | ~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~ hfile_s3.c:869:59: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 869 | s3_sign_sha256(secret_access_key.s, secret_access_key.l, (const unsigned char *)ad->date_short, strlen(ad->date_short), date_key, &len); | ~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~^ hfile_s3.c:870:83: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 870 | s3_sign_sha256(date_key, len, (const unsigned char *)ad->region.s, ad->region.l, date_region_key, &len); | ~~~~~~~~~~~~~~ ~~~~~~~~~~~^ hfile_s3.c:873:96: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 873 | s3_sign_sha256(signing_key, len, (const unsigned char *)string_to_sign->s, string_to_sign->l, signature, &len); | ~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~^ hfile_s3.c:1302:20: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 1302 | return lval; | ~~~~~~ ^~~~ hfile_s3.c:1316:38: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 1316 | return http_status_errno(lval); | ~~~~~~~~~~~~~~~~~ ^~~~ hfile_s3.c:1755:43: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 1755 | errno = http_status_errno(response_code); | ~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~ hfile_s3.c:1812:47: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 1812 | errno = http_status_errno(response_code); | ~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~ hfile_s3.c:1851:51: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 1851 | errno = http_status_errno(response_code); | ~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~ hfile_s3.c:2114:47: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 2114 | errno = http_status_errno(response_code); | ~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~ hfile_s3.c:2319:39: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 2319 | errno = http_status_errno(response_code); | ~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~ hfile_s3.c:2440:39: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 2440 | errno = http_status_errno(response_code); | ~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~ 38 warnings generated. clang -bundle -Wl,-undefined,dynamic_lookup -L/opt/R/arm64/lib -L/opt/homebrew/opt/openssl@3/lib -L/opt/homebrew/lib -fvisibility=hidden -rdynamic -o hfile_s3.bundle hfile_s3.o -ldeflate -llzma -lbz2 -lz -lz -lbz2 -llzma -lcurl -L/opt/R/arm64/lib -lssl -lcrypto -lpthread -lcurl ld: warning: ignoring duplicate libraries: '-lbz2', '-lcurl', '-llzma', '-lz' Fixing htslib install names for macOS... ---------- Building DuckHTS extension ---------- Compiling extension sources... Compiling duckhts.c -> duckhts.o In file included from duckhts.c:10: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from duckhts.c:10: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ 9 warnings generated. Compiling simd/duckhts_simd_dispatch.c -> simd/duckhts_simd_dispatch.o Compiling simd/duckhts_simd_scalar.c -> simd/duckhts_simd_scalar.o Compiling simd/duckhts_simd_avx2.c -> simd/duckhts_simd_avx2.o Compiling simd/duckhts_simd_avx512.c -> simd/duckhts_simd_avx512.o Compiling simd/duckhts_simd_neon.c -> simd/duckhts_simd_neon.o Compiling simd/duckhts_simd_wasm_simd128.c -> simd/duckhts_simd_wasm_simd128.o Compiling bcf_reader.c -> bcf_reader.o In file included from bcf_reader.c:31: In file included from ./include/vcf_types.h:14: In file included from ./htslib/htslib/vcf.h:39: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from bcf_reader.c:31: In file included from ./include/vcf_types.h:14: In file included from ./htslib/htslib/vcf.h:39: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from bcf_reader.c:31: In file included from ./include/vcf_types.h:14: In file included from ./htslib/htslib/vcf.h:42: ./htslib/htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from bcf_reader.c:31: In file included from ./include/vcf_types.h:14: ./htslib/htslib/vcf.h:1579:26: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1579 | *p++ = (size<<4) | type; | ~ ~~~~~~~~~~^~~~~~ ./htslib/htslib/vcf.h:1587:17: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1587 | *p++ = 15<<4|type; | ~ ~~~~~^~~~~ ./htslib/htslib/vcf.h:1591:16: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1591 | *p++ = size; | ~ ^~~~ ./htslib/htslib/vcf.h:1596:23: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1596 | i16_to_le(size, p); | ~~~~~~~~~ ^~~~ ./htslib/htslib/vcf.h:1632:16: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1632 | p[1] = x; | ~ ^ ./htslib/htslib/vcf.h:1636:19: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1636 | i16_to_le(x, p+1); | ~~~~~~~~~ ^ ./htslib/htslib/vcf.h:1708:19: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1708 | } else return bcf_dec_typed_int1(p + 1, q); | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from bcf_reader.c:54: In file included from ./include/hts_io_tuning.h:5: ./htslib/htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ bcf_reader.c:2211:36: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 2211 | int header_count = bcf_hdr_id2number(hdr, BCF_HL_INFO, i); | ~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/vcf.h:1258:94: note: expanded from macro 'bcf_hdr_id2number' 1258 | #define bcf_hdr_id2number(hdr,type,int_id) ((hdr)->id[BCF_DT_ID][int_id].val->info[type]>>12) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ bcf_reader.c:2336:40: warning: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 2336 | int header_count = bcf_hdr_id2number(hdr, BCF_HL_FMT, i); | ~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/vcf.h:1258:94: note: expanded from macro 'bcf_hdr_id2number' 1258 | #define bcf_hdr_id2number(hdr,type,int_id) ((hdr)->id[BCF_DT_ID][int_id].val->info[type]>>12) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ bcf_reader.c:3617:88: warning: implicit conversion loses integer precision: 'idx_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 3617 | const vep_value_t* val = vep_record_get_value(vep_rec, t, schema_field_idx); | ~~~~~~~~~~~~~~~~~~~~ ^ bcf_reader.c:3628:88: warning: implicit conversion loses integer precision: 'idx_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 3628 | const vep_value_t* val = vep_record_get_value(vep_rec, t, schema_field_idx); | ~~~~~~~~~~~~~~~~~~~~ ^ bcf_reader.c:3639:88: warning: implicit conversion loses integer precision: 'idx_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 3639 | const vep_value_t* val = vep_record_get_value(vep_rec, t, schema_field_idx); | ~~~~~~~~~~~~~~~~~~~~ ^ bcf_reader.c:3650:88: warning: implicit conversion loses integer precision: 'idx_t' (aka 'unsigned long long') to 'int' [-Wshorten-64-to-32] 3650 | const vep_value_t* val = vep_record_get_value(vep_rec, t, schema_field_idx); | ~~~~~~~~~~~~~~~~~~~~ ^ 26 warnings generated. Compiling bam_reader.c -> bam_reader.o In file included from bam_reader.c:32: In file included from ./htslib/htslib/sam.h:33: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from bam_reader.c:32: In file included from ./htslib/htslib/sam.h:33: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from bam_reader.c:32: In file included from ./htslib/htslib/sam.h:34: ./htslib/htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from bam_reader.c:37: In file included from ./include/hts_io_tuning.h:5: ./htslib/htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ 13 warnings generated. Compiling bam_pileup.c -> bam_pileup.o In file included from bam_pileup.c:22: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from bam_pileup.c:22: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from bam_pileup.c:24: In file included from ./htslib/htslib/sam.h:34: ./htslib/htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from bam_pileup.c:26: In file included from ./include/hts_io_tuning.h:5: ./htslib/htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ 13 warnings generated. Compiling bgzip.c -> bgzip.o Compiling hts_index_builder.c -> hts_index_builder.o In file included from hts_index_builder.c:12: In file included from ./htslib/htslib/sam.h:33: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from hts_index_builder.c:12: In file included from ./htslib/htslib/sam.h:33: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from hts_index_builder.c:12: In file included from ./htslib/htslib/sam.h:34: ./htslib/htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from hts_index_builder.c:14: ./htslib/htslib/vcf.h:1579:26: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1579 | *p++ = (size<<4) | type; | ~ ~~~~~~~~~~^~~~~~ ./htslib/htslib/vcf.h:1587:17: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1587 | *p++ = 15<<4|type; | ~ ~~~~~^~~~~ ./htslib/htslib/vcf.h:1591:16: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1591 | *p++ = size; | ~ ^~~~ ./htslib/htslib/vcf.h:1596:23: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1596 | i16_to_le(size, p); | ~~~~~~~~~ ^~~~ ./htslib/htslib/vcf.h:1632:16: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1632 | p[1] = x; | ~ ^ ./htslib/htslib/vcf.h:1636:19: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1636 | i16_to_le(x, p+1); | ~~~~~~~~~ ^ ./htslib/htslib/vcf.h:1708:19: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1708 | } else return bcf_dec_typed_int1(p + 1, q); | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from hts_index_builder.c:16: In file included from ./include/hts_io_tuning.h:5: ./htslib/htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ 20 warnings generated. Compiling liftover_udf.c -> liftover_udf.o In file included from liftover_udf.c:12: In file included from ./htslib/htslib/faidx.h:34: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from liftover_udf.c:12: In file included from ./htslib/htslib/faidx.h:34: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ liftover_udf.c:425:18: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 425 | char c = toupper(seq[i]); | ~ ^~~~~~~~~~~~~~~ liftover_udf.c:1059:19: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1059 | int seq_len = faidx_seq_len64(ra->fai, fetch_chrom); | ~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ liftover_udf.c:1368:26: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 1368 | path->s[--i] = 1 + ind; | ~ ~~^~~~~ 12 warnings generated. Compiling bcftools_norm_udf.c -> bcftools_norm_udf.o In file included from bcftools_norm_udf.c:12: In file included from ./htslib/htslib/faidx.h:34: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from bcftools_norm_udf.c:12: In file included from ./htslib/htslib/faidx.h:34: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from bcftools_norm_udf.c:16: In file included from ./include/hts_io_tuning.h:5: ./htslib/htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ bcftools_norm_udf.c:835:17: warning: variable 'n_allele' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] 835 | if (!merged_alt[i]) { | ^~~~~~~~~~~~~~ bcftools_norm_udf.c:1068:29: note: uninitialized use occurs here 1068 | free_kstring_array(als, n_allele); | ^~~~~~~~ bcftools_norm_udf.c:835:13: note: remove the 'if' if its condition is always false 835 | if (!merged_alt[i]) { | ^~~~~~~~~~~~~~~~~~~~~ 836 | free(merged_ref); | ~~~~~~~~~~~~~~~~~ 837 | free_string_array(merged_alt, n_orig_alt); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 838 | free_norm_result(&real_result); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 839 | goto oom; | ~~~~~~~~~ 840 | } | ~ bcftools_norm_udf.c:819:13: warning: variable 'n_allele' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] 819 | if (!merged_alt || !merged_ref) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_norm_udf.c:1068:29: note: uninitialized use occurs here 1068 | free_kstring_array(als, n_allele); | ^~~~~~~~ bcftools_norm_udf.c:819:9: note: remove the 'if' if its condition is always false 819 | if (!merged_alt || !merged_ref) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 820 | free(merged_ref); | ~~~~~~~~~~~~~~~~~ 821 | free_string_array(merged_alt, n_orig_alt); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 822 | free_norm_result(&real_result); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 823 | goto oom; | ~~~~~~~~~ 824 | } | ~ bcftools_norm_udf.c:819:13: warning: variable 'n_allele' is used uninitialized whenever '||' condition is true [-Wsometimes-uninitialized] 819 | if (!merged_alt || !merged_ref) { | ^~~~~~~~~~~ bcftools_norm_udf.c:1068:29: note: uninitialized use occurs here 1068 | free_kstring_array(als, n_allele); | ^~~~~~~~ bcftools_norm_udf.c:819:13: note: remove the '||' if its condition is always false 819 | if (!merged_alt || !merged_ref) { | ^~~~~~~~~~~~~~ bcftools_norm_udf.c:787:17: warning: variable 'n_allele' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] 787 | if (!real_alt[real_i]) { | ^~~~~~~~~~~~~~~~~ bcftools_norm_udf.c:1068:29: note: uninitialized use occurs here 1068 | free_kstring_array(als, n_allele); | ^~~~~~~~ bcftools_norm_udf.c:787:13: note: remove the 'if' if its condition is always false 787 | if (!real_alt[real_i]) { | ^~~~~~~~~~~~~~~~~~~~~~~~ 788 | free_string_array(real_alt, n_real_alt); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 789 | free(real_to_orig); | ~~~~~~~~~~~~~~~~~~~ 790 | goto oom; | ~~~~~~~~~ 791 | } | ~ bcftools_norm_udf.c:778:13: warning: variable 'n_allele' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] 778 | if (!real_alt || !real_to_orig) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_norm_udf.c:1068:29: note: uninitialized use occurs here 1068 | free_kstring_array(als, n_allele); | ^~~~~~~~ bcftools_norm_udf.c:778:9: note: remove the 'if' if its condition is always false 778 | if (!real_alt || !real_to_orig) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 779 | free(real_alt); | ~~~~~~~~~~~~~~~ 780 | free(real_to_orig); | ~~~~~~~~~~~~~~~~~~~ 781 | goto oom; | ~~~~~~~~~ 782 | } | ~ bcftools_norm_udf.c:778:13: warning: variable 'n_allele' is used uninitialized whenever '||' condition is true [-Wsometimes-uninitialized] 778 | if (!real_alt || !real_to_orig) { | ^~~~~~~~~ bcftools_norm_udf.c:1068:29: note: uninitialized use occurs here 1068 | free_kstring_array(als, n_allele); | ^~~~~~~~ bcftools_norm_udf.c:778:13: note: remove the '||' if its condition is always false 778 | if (!real_alt || !real_to_orig) { | ^~~~~~~~~~~~ bcftools_norm_udf.c:731:9: warning: variable 'n_allele' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] 731 | if (!copy_alt_array(alt_in, n_alt_in, &orig_alt, &n_orig_alt)) goto oom; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_norm_udf.c:1068:29: note: uninitialized use occurs here 1068 | free_kstring_array(als, n_allele); | ^~~~~~~~ bcftools_norm_udf.c:731:5: note: remove the 'if' if its condition is always false 731 | if (!copy_alt_array(alt_in, n_alt_in, &orig_alt, &n_orig_alt)) goto oom; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_norm_udf.c:729:9: warning: variable 'n_allele' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] 729 | if (!orig_ref) goto oom; | ^~~~~~~~~ bcftools_norm_udf.c:1068:29: note: uninitialized use occurs here 1068 | free_kstring_array(als, n_allele); | ^~~~~~~~ bcftools_norm_udf.c:729:5: note: remove the 'if' if its condition is always false 729 | if (!orig_ref) goto oom; | ^~~~~~~~~~~~~~~~~~~~~~~ bcftools_norm_udf.c:709:17: note: initialize the variable 'n_allele' to silence this warning 709 | int n_allele; | ^ | = 0 18 warnings generated. Compiling munge_udf.c -> munge_udf.o In file included from munge_udf.c:12: In file included from ./htslib/htslib/faidx.h:34: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from munge_udf.c:12: In file included from ./htslib/htslib/faidx.h:34: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ 9 warnings generated. Compiling seq_reader.c -> seq_reader.o In file included from seq_reader.c:41: In file included from ./htslib/htslib/sam.h:33: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from seq_reader.c:41: In file included from ./htslib/htslib/sam.h:33: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from seq_reader.c:41: In file included from ./htslib/htslib/sam.h:34: ./htslib/htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from seq_reader.c:47: In file included from ./include/hts_io_tuning.h:5: ./htslib/htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ 13 warnings generated. Compiling fastq_qc.c -> fastq_qc.o Compiling interval_udf.c -> interval_udf.o In file included from interval_udf.c:31: In file included from ./htslib/htslib/faidx.h:34: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from interval_udf.c:31: In file included from ./htslib/htslib/faidx.h:34: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from interval_udf.c:36: In file included from ./include/hts_io_tuning.h:5: ./htslib/htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ 10 warnings generated. Compiling tabix_reader.c -> tabix_reader.o In file included from tabix_reader.c:31: In file included from ./include/vcf_types.h:14: In file included from ./htslib/htslib/vcf.h:39: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from tabix_reader.c:31: In file included from ./include/vcf_types.h:14: In file included from ./htslib/htslib/vcf.h:39: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from tabix_reader.c:31: In file included from ./include/vcf_types.h:14: In file included from ./htslib/htslib/vcf.h:42: ./htslib/htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from tabix_reader.c:31: In file included from ./include/vcf_types.h:14: ./htslib/htslib/vcf.h:1579:26: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1579 | *p++ = (size<<4) | type; | ~ ~~~~~~~~~~^~~~~~ ./htslib/htslib/vcf.h:1587:17: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1587 | *p++ = 15<<4|type; | ~ ~~~~~^~~~~ ./htslib/htslib/vcf.h:1591:16: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1591 | *p++ = size; | ~ ^~~~ ./htslib/htslib/vcf.h:1596:23: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1596 | i16_to_le(size, p); | ~~~~~~~~~ ^~~~ ./htslib/htslib/vcf.h:1632:16: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1632 | p[1] = x; | ~ ^ ./htslib/htslib/vcf.h:1636:19: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1636 | i16_to_le(x, p+1); | ~~~~~~~~~ ^ ./htslib/htslib/vcf.h:1708:19: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1708 | } else return bcf_dec_typed_int1(p + 1, q); | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from tabix_reader.c:46: In file included from ./include/hts_io_tuning.h:5: ./htslib/htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ tabix_reader.c:1277:47: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'char' [-Wimplicit-int-conversion] 1277 | meta_char = conf.meta_char ? conf.meta_char : '#'; | ~ ~~~~~^~~~~~~~~ 21 warnings generated. Compiling bigwig_reader.c -> bigwig_reader.o In file included from bigwig_reader.c:21: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from bigwig_reader.c:21: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ 9 warnings generated. Compiling libbigwig_hfile_io.c -> libbigwig_hfile_io.o In file included from libbigwig_hfile_io.c:10: ./htslib/htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ In file included from libbigwig_hfile_io.c:12: In file included from ./include/hts_io_tuning.h:4: In file included from ./htslib/htslib/faidx.h:34: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from libbigwig_hfile_io.c:12: In file included from ./include/hts_io_tuning.h:4: In file included from ./htslib/htslib/faidx.h:34: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ 10 warnings generated. Compiling hts_meta_reader.c -> hts_meta_reader.o In file included from hts_meta_reader.c:10: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from hts_meta_reader.c:10: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from hts_meta_reader.c:13: In file included from ./htslib/htslib/sam.h:34: ./htslib/htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from hts_meta_reader.c:15: ./htslib/htslib/vcf.h:1579:26: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1579 | *p++ = (size<<4) | type; | ~ ~~~~~~~~~~^~~~~~ ./htslib/htslib/vcf.h:1587:17: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1587 | *p++ = 15<<4|type; | ~ ~~~~~^~~~~ ./htslib/htslib/vcf.h:1591:16: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1591 | *p++ = size; | ~ ^~~~ ./htslib/htslib/vcf.h:1596:23: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1596 | i16_to_le(size, p); | ~~~~~~~~~ ^~~~ ./htslib/htslib/vcf.h:1632:16: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1632 | p[1] = x; | ~ ^ ./htslib/htslib/vcf.h:1636:19: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1636 | i16_to_le(x, p+1); | ~~~~~~~~~ ^ ./htslib/htslib/vcf.h:1708:19: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1708 | } else return bcf_dec_typed_int1(p + 1, q); | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 19 warnings generated. Compiling quality_encoding.c -> quality_encoding.o In file included from quality_encoding.c:10: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from quality_encoding.c:10: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ 9 warnings generated. Compiling quality_encoding_reader.c -> quality_encoding_reader.o Compiling mosdepth_table.c -> mosdepth_table.o In file included from mosdepth_table.c:33: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from mosdepth_table.c:33: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from mosdepth_table.c:36: In file included from ./htslib/htslib/sam.h:34: ./htslib/htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from mosdepth_table.c:39: In file included from ./include/hts_io_tuning.h:5: ./htslib/htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ mosdepth_table.c:410:18: warning: variable 'it' set but not used [-Wunused-but-set-variable] 410 | khiter_t it; | ^ 14 warnings generated. Compiling bam_bin_counts.c -> bam_bin_counts.o In file included from bam_bin_counts.c:24: In file included from ./htslib/htslib/faidx.h:34: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from bam_bin_counts.c:24: In file included from ./htslib/htslib/faidx.h:34: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from bam_bin_counts.c:26: In file included from ./htslib/htslib/sam.h:34: ./htslib/htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from bam_bin_counts.c:28: In file included from ./include/hts_io_tuning.h:5: ./htslib/htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ 13 warnings generated. Compiling samtools_idxstats_table.c -> samtools_idxstats_table.o In file included from samtools_idxstats_table.c:25: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from samtools_idxstats_table.c:25: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from samtools_idxstats_table.c:26: In file included from ./htslib/htslib/sam.h:34: ./htslib/htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from samtools_idxstats_table.c:28: In file included from ./include/hts_io_tuning.h:5: ./htslib/htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ samtools_idxstats_table.c:44:14: warning: unused function 'dup_string_idxstats' [-Wunused-function] 44 | static char *dup_string_idxstats(const char *s) { | ^~~~~~~~~~~~~~~~~~~ 14 warnings generated. Compiling bam_bed_coverage.c -> bam_bed_coverage.o In file included from bam_bed_coverage.c:21: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from bam_bed_coverage.c:21: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from bam_bed_coverage.c:23: In file included from ./htslib/htslib/sam.h:34: ./htslib/htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from bam_bed_coverage.c:25: In file included from ./include/hts_io_tuning.h:5: ./htslib/htslib/hfile.h:267:49: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 267 | if (fp->begin < fp->limit) *(fp->begin++) = c; | ~ ^ bam_bed_coverage.c:483:12: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 483 | qlen = bam_cigar2qlen(rec->core.n_cigar, bam_get_cigar(rec)); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bam_bed_coverage.c:134:14: warning: unused function 'dup_cstr_bedcov' [-Wunused-function] 134 | static char *dup_cstr_bedcov(const char *s) { | ^~~~~~~~~~~~~~~ bam_bed_coverage.c:190:12: warning: unused function 'ensure_region_depth_arrays' [-Wunused-function] 190 | static int ensure_region_depth_arrays(bedcov_region_t *region) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~ 16 warnings generated. Compiling cgranges_api.c -> cgranges_api.o cgranges_api.c:240:34: warning: unused function 'lookup_entry' [-Wunused-function] 240 | static duckhts_cgranges_entry_t *lookup_entry(duckhts_cgranges_registry_t *reg, const char *name) { | ^~~~~~~~~~~~ cgranges_api.c:384:12: warning: unused function 'append_interval' [-Wunused-function] 384 | static int append_interval(duckhts_cgranges_entry_t *entry, const char *chrom, int64_t start, int64_t end, | ^~~~~~~~~~~~~~~ cgranges_api.c:960:12: warning: unused function 'make_label_value_from_text' [-Wunused-function] 960 | static int make_label_value_from_text(const char *label_text, const char *label_type, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ cgranges_api.c:1019:21: warning: unused function 'chunk_cell_to_value' [-Wunused-function] 1019 | static duckdb_value chunk_cell_to_value(duckdb_vector vec, idx_t row, duckdb_type type_id) { | ^~~~~~~~~~~~~~~~~~~ 4 warnings generated. Compiling variantkey_udf.c -> variantkey_udf.o In file included from variantkey_udf.c:7: In file included from ./include/variantkey_compat.h:4: ./include/variantkey/variantkey.h:125:27: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 125 | v = ((v * 10) + (chrom[i] - '0')); | ~ ~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./include/variantkey/variantkey.h:373:26: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 373 | uint8_t bitpos = (23 - ((*sizeref) << 1)); | ~~~~~~ ~~~^~~~~~~~~~~~~~~~~~~ 2 warnings generated. Compiling cgranges.c -> cgranges.o Compiling libBigWig/bwRead.c -> libBigWig/bwRead.o libBigWig/bwRead.c:51:15: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] 51 | void bwCleanup() { | ^ | void 1 warning generated. Compiling libBigWig/bwValues.c -> libBigWig/bwValues.o libBigWig/bwValues.c:553:32: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 553 | slen = strlen(str) + 1; | ~ ~~~~~~~~~~~~^~~ 1 warning generated. Compiling bcftools_filter.c -> bcftools_filter.o In file included from bcftools_filter.c:39: In file included from ./htslib/htslib/khash_str2int.h:28: In file included from ./htslib/htslib/khash.h:133: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from bcftools_filter.c:41: In file included from ./htslib/htslib/vcfutils.h:29: In file included from ./htslib/htslib/vcf.h:39: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from bcftools_filter.c:41: In file included from ./htslib/htslib/vcfutils.h:29: In file included from ./htslib/htslib/vcf.h:42: ./htslib/htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from bcftools_filter.c:41: In file included from ./htslib/htslib/vcfutils.h:29: ./htslib/htslib/vcf.h:1579:26: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1579 | *p++ = (size<<4) | type; | ~ ~~~~~~~~~~^~~~~~ ./htslib/htslib/vcf.h:1587:17: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1587 | *p++ = 15<<4|type; | ~ ~~~~~^~~~~ ./htslib/htslib/vcf.h:1591:16: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1591 | *p++ = size; | ~ ^~~~ ./htslib/htslib/vcf.h:1596:23: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1596 | i16_to_le(size, p); | ~~~~~~~~~ ^~~~ ./htslib/htslib/vcf.h:1632:16: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1632 | p[1] = x; | ~ ^ ./htslib/htslib/vcf.h:1636:19: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1636 | i16_to_le(x, p+1); | ~~~~~~~~~ ^ ./htslib/htslib/vcf.h:1708:19: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1708 | } else return bcf_dec_typed_int1(p + 1, q); | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:309:24: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 309 | *len = tmp - (*str); | ~ ~~~~^~~~~~~~ bcftools_filter.c:363:20: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 363 | *len = tmp - (*str); | ~ ~~~~^~~~~~~~ bcftools_filter.c:396:20: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 396 | *len = tmp - (*str); | ~ ~~~~^~~~~~~~ bcftools_filter.c:405:29: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 405 | *len = tmp - (*str) + 1; | ~ ~~~~~~~~~~~~~^~~ bcftools_filter.c:441:16: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 441 | *len = tmp - (*str); | ~ ~~~~^~~~~~~~ bcftools_filter.c:592:11: warning: implicit conversion turns floating-point number into integer: 'double' to '_Bool' [-Wfloat-conversion] 592 | if ( !tok->values[0] ) tok->values[0] = 1; // mistake in htslib: VCF_* should start with 1 | ~^~~~~~~~~~~~~~ bcftools_filter.c:636:49: warning: implicit conversion from 'int64_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 636 | tok->values[0] = line->d.info[i].v1.i; | ~ ~~~~~~~~~~~~~~~~~~~^ bcftools_filter.c:790:37: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 790 | rtok->pass_samples[i] = ret; | ~ ^~~ bcftools_filter.c:820:33: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 820 | rtok->pass_samples[i] = ret; | ~ ^~~ bcftools_filter.c:930:35: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 930 | tok->nvalues = tok->str_value.l; | ~ ~~~~~~~~~~~~~~~^ bcftools_filter.c:936:31: warning: implicit conversion from 'hts_pos_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 936 | tok->values[0] = line->pos+1; | ~ ~~~~~~~~~^~ bcftools_filter.c:963:30: warning: implicit conversion from 'int64_t' (aka 'long long') to 'double' may lose precision [-Wimplicit-int-float-conversion] 963 | tok->values[0] = value; | ~ ^~~~~ bcftools_filter.c:948:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 948 | hts_expand(double,tok->nvalues,tok->mvalues,tok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:977:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 977 | hts_expand(double,tok->nvalues,tok->mvalues,tok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:1005:32: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1005 | int32_t m = tok->str_value.m; | ~ ~~~~~~~~~~~~~~~^ bcftools_filter.c:1060:35: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1060 | tok->nvalues = tok->str_value.l; | ~ ~~~~~~~~~~~~~~~^ bcftools_filter.c:1086:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1086 | hts_expand(double, tok->nvalues, tok->mvalues, tok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:1171:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1171 | hts_expand(double, tok->nvalues, tok->mvalues, tok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:1253:34: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1253 | int i, ndim = tok->str_value.m; | ~~~~ ~~~~~~~~~~~~~~~^ bcftools_filter.c:1421:35: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1421 | tok->nvalues = tok->str_value.l; | ~ ~~~~~~~~~~~~~~~^ bcftools_filter.c:1427:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1427 | hts_expand(double,tok->nvalues,tok->mvalues,tok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:1429:19: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 1429 | int i, rlen = strlen(line->d.allele[0]); | ~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:1437:20: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 1437 | int alen = strlen(line->d.allele[i]); | ~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:1445:35: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1445 | tok->nvalues = tok->str_value.l; | ~ ~~~~~~~~~~~~~~~^ bcftools_filter.c:1480:35: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1480 | tok->nvalues = tok->str_value.l; | ~ ~~~~~~~~~~~~~~~^ bcftools_filter.c:1544:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1544 | hts_expand(double,1,rtok->mvalues,rtok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:1558:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1558 | hts_expand(int32_t, line->n_allele, flt->mtmpi, flt->tmpi); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:1584:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1584 | hts_expand(double,line->n_allele,tok->mvalues,tok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:1668:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1668 | hts_expand(double,rtok->nvalues,rtok->mvalues,rtok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:1735:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1735 | hts_expand(double,rtok->nvalues,rtok->mvalues,rtok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:1798:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1798 | hts_expand(double,rtok->nvalues,rtok->mvalues,rtok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:1873:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1873 | hts_expand(double,rtok->nvalues,rtok->mvalues,rtok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:1951:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 1951 | hts_expand(double,rtok->nvalues,rtok->mvalues,rtok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:2023:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2023 | hts_expand(double,rtok->nvalues,rtok->mvalues,rtok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:2053:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2053 | hts_expand(double,rtok->nvalues,rtok->mvalues,rtok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:2060:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2060 | hts_expand(double, rtok->nvalues, rtok->mvalues, rtok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:2126:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2126 | hts_expand(double,rtok->nvalues,rtok->mvalues,rtok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:2162:43: warning: implicit conversion from 'unsigned long' to 'double' may lose precision [-Wimplicit-int-float-conversion] 2162 | if ( !*se ) rtok->values[i] = strlen(ss); | ~ ^~~~~~~~~~ bcftools_filter.c:2166:35: warning: implicit conversion from 'unsigned long' to 'double' may lose precision [-Wimplicit-int-float-conversion] 2166 | rtok->values[i] = strlen(ss); | ~ ^~~~~~~~~~ bcftools_filter.c:2179:31: warning: implicit conversion from 'unsigned long' to 'double' may lose precision [-Wimplicit-int-float-conversion] 2179 | rtok->values[0] = strlen(tok->str_value.s); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:2161:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2161 | hts_expand(double, i+1, rtok->mvalues, rtok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:2225:50: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2225 | kt_fisher_exact(n11[0],n12[0],n21[0],n22[0], &left, &right, &two); | ~~~~~~~~~~~~~~~ ^~~~~~ bcftools_filter.c:2225:43: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2225 | kt_fisher_exact(n11[0],n12[0],n21[0],n22[0], &left, &right, &two); | ~~~~~~~~~~~~~~~ ^~~~~~ bcftools_filter.c:2225:36: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2225 | kt_fisher_exact(n11[0],n12[0],n21[0],n22[0], &left, &right, &two); | ~~~~~~~~~~~~~~~ ^~~~~~ bcftools_filter.c:2225:29: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2225 | kt_fisher_exact(n11[0],n12[0],n21[0],n22[0], &left, &right, &two); | ~~~~~~~~~~~~~~~ ^~~~~~ bcftools_filter.c:2257:58: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2257 | kt_fisher_exact(n11[0],n12[0],n21[0],n22[0], &left, &right, &two); | ~~~~~~~~~~~~~~~ ^~~~~~ bcftools_filter.c:2257:51: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2257 | kt_fisher_exact(n11[0],n12[0],n21[0],n22[0], &left, &right, &two); | ~~~~~~~~~~~~~~~ ^~~~~~ bcftools_filter.c:2257:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2257 | kt_fisher_exact(n11[0],n12[0],n21[0],n22[0], &left, &right, &two); | ~~~~~~~~~~~~~~~ ^~~~~~ bcftools_filter.c:2257:37: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2257 | kt_fisher_exact(n11[0],n12[0],n21[0],n22[0], &left, &right, &two); | ~~~~~~~~~~~~~~~ ^~~~~~ bcftools_filter.c:2280:58: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2280 | kt_fisher_exact(n11[0],n12[0],n21[0],n22[0], &left, &right, &two); | ~~~~~~~~~~~~~~~ ^~~~~~ bcftools_filter.c:2280:51: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2280 | kt_fisher_exact(n11[0],n12[0],n21[0],n22[0], &left, &right, &two); | ~~~~~~~~~~~~~~~ ^~~~~~ bcftools_filter.c:2280:44: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2280 | kt_fisher_exact(n11[0],n12[0],n21[0],n22[0], &left, &right, &two); | ~~~~~~~~~~~~~~~ ^~~~~~ bcftools_filter.c:2280:37: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2280 | kt_fisher_exact(n11[0],n12[0],n21[0],n22[0], &left, &right, &two); | ~~~~~~~~~~~~~~~ ^~~~~~ bcftools_filter.c:2325:54: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2325 | kt_fisher_exact(n11[0],n12[0],n21[0],n22[0], &left, &right, &two); | ~~~~~~~~~~~~~~~ ^~~~~~ bcftools_filter.c:2325:47: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2325 | kt_fisher_exact(n11[0],n12[0],n21[0],n22[0], &left, &right, &two); | ~~~~~~~~~~~~~~~ ^~~~~~ bcftools_filter.c:2325:40: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2325 | kt_fisher_exact(n11[0],n12[0],n21[0],n22[0], &left, &right, &two); | ~~~~~~~~~~~~~~~ ^~~~~~ bcftools_filter.c:2325:33: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2325 | kt_fisher_exact(n11[0],n12[0],n21[0],n22[0], &left, &right, &two); | ~~~~~~~~~~~~~~~ ^~~~~~ bcftools_filter.c:2193:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2193 | hts_expand(double, rtok->nvalues, rtok->mvalues, rtok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:2234:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2234 | hts_expand(double, rtok->nvalues, rtok->mvalues, rtok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:2399:67: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2399 | rtok->values[i] = calc_binom_two_sided(vals[idx1],vals[idx2],0.5); | ~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~ bcftools_filter.c:2399:56: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2399 | rtok->values[i] = calc_binom_two_sided(vals[idx1],vals[idx2],0.5); | ~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~ bcftools_filter.c:2423:64: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2423 | rtok->values[i] = calc_binom_two_sided(ptr1[0],ptr2[0],0.5); | ~~~~~~~~~~~~~~~~~~~~ ^~~~~~~ bcftools_filter.c:2423:56: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2423 | rtok->values[i] = calc_binom_two_sided(ptr1[0],ptr2[0],0.5); | ~~~~~~~~~~~~~~~~~~~~ ^~~~~~~ bcftools_filter.c:2462:60: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2462 | rtok->values[0] = calc_binom_two_sided(ptr1[0],ptr2[0],0.5); | ~~~~~~~~~~~~~~~~~~~~ ^~~~~~~ bcftools_filter.c:2462:52: warning: implicit conversion turns floating-point number into integer: 'double' to 'int' [-Wfloat-conversion] 2462 | rtok->values[0] = calc_binom_two_sided(ptr1[0],ptr2[0],0.5); | ~~~~~~~~~~~~~~~~~~~~ ^~~~~~~ bcftools_filter.c:2364:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2364 | hts_expand(double, rtok->nvalues, rtok->mvalues, rtok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:2436:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2436 | hts_expand(double, rtok->nvalues, rtok->mvalues, rtok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:2485:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2485 | hts_expand(double, rtok->nvalues, rtok->mvalues, rtok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:2518:5: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 2518 | hts_expand(double, rtok->nvalues, rtok->mvalues, rtok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:3016:65: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 3016 | if ( rtok->usmpl[i] ) { rtok->pass_samples[i] = missing_logic[2]; rtok->pass_site = 1; } | ~ ^~~~~~~~~~~~~~~~ bcftools_filter.c:3078:12: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 3078 | *idx = strtol(tag_idx, &end, 10); | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:3085:19: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32] 3085 | int num = strtol(beg, &end, 10); | ~~~ ^~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:3119:18: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 3119 | int i, len = strlen(tag_idx); | ~~~ ^~~~~~~~~~~~~~~ bcftools_filter.c:3611:22: warning: implicit conversion from 'long' to 'double' may lose precision [-Wimplicit-int-float-conversion] 3611 | tok->threshold = strtol(tmp.s, &end, 10); // integer? | ~ ^~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:3292:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 3292 | hts_expand(double,1,tok->mvalues,tok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:3657:29: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 3657 | while ( *str ) { *str = tolower(*str); str++; } | ~ ^~~~~~~~~~~~~ bcftools_filter.c:3889:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 3889 | hts_expand0(token_t, nops, mops, ops); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:122:19: note: expanded from macro 'hts_expand0' 122 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | sizeof(type_t), 1, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:3897:17: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 3897 | hts_expand0(token_t, nout, mout, out); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:122:19: note: expanded from macro 'hts_expand0' 122 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | sizeof(type_t), 1, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:3909:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 3909 | hts_expand0(token_t, nout, mout, out); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:122:19: note: expanded from macro 'hts_expand0' 122 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | sizeof(type_t), 1, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:3919:17: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 3919 | hts_expand0(token_t, nout, mout, out); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:122:19: note: expanded from macro 'hts_expand0' 122 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | sizeof(type_t), 1, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:3933:17: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 3933 | hts_expand0(token_t, nops, mops, ops); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:122:19: note: expanded from macro 'hts_expand0' 122 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | sizeof(type_t), 1, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:3973:21: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 3973 | hts_expand0(token_t, nout, mout, out); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:122:19: note: expanded from macro 'hts_expand0' 122 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | sizeof(type_t), 1, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:3974:56: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 3974 | filters_init1(filter, rmme.s, rmme.l, &out[nout-1]); | ~~~~~~~~~~~~~ ~~~~~^ bcftools_filter.c:3989:21: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 3989 | hts_expand0(token_t, nout, mout, out); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:122:19: note: expanded from macro 'hts_expand0' 122 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | sizeof(type_t), 1, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:3990:57: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 3990 | filters_init1(filter, rmme_list[i], strlen(rmme_list[i]), &out[nout-1]); | ~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:3997:17: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 3997 | hts_expand0(token_t, nout, mout, out); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:122:19: note: expanded from macro 'hts_expand0' 122 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | sizeof(type_t), 1, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:4013:21: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 4013 | hts_expand0(token_t, nout, mout, out); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:122:19: note: expanded from macro 'hts_expand0' 122 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | sizeof(type_t), 1, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:4020:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 4020 | hts_expand0(token_t, nops, mops, ops); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:122:19: note: expanded from macro 'hts_expand0' 122 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | sizeof(type_t), 1, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:4031:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 4031 | hts_expand0(token_t, nout, mout, out); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:122:19: note: expanded from macro 'hts_expand0' 122 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | sizeof(type_t), 1, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:4044:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 4044 | hts_expand0(token_t, nout, mout, out); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:122:19: note: expanded from macro 'hts_expand0' 122 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | sizeof(type_t), 1, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:4121:23: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32] 4121 | int len = strlen(out[j].key); | ~~~ ^~~~~~~~~~~~~~~~~~ bcftools_filter.c:4223:21: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 4223 | hts_expand(double,tok->nvalues,tok->mvalues,tok->values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:90:19: note: expanded from macro 'hts_expand' 90 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | sizeof(type_t), 0, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:4264:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 4264 | hts_expand0(double,1,out[i].mvalues,out[i].values); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts.h:122:19: note: expanded from macro 'hts_expand0' 122 | (m) = hts_realloc_or_die((n) >= 1 ? (n) : 1, (m), sizeof(m), \ | ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 123 | sizeof(type_t), 1, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124 | (void **)&(ptr), __func__); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~ bcftools_filter.c:4350:43: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 4350 | tok->nvalues = tok->str_value.l; | ~ ~~~~~~~~~~~~~~~^ bcftools_filter.c:4473:108: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 4473 | CMP_VECTORS(filter->flt_stack[nstack-2],filter->flt_stack[nstack-1],&filter->filters[i],==,missing_logic) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ bcftools_filter.c:2791:69: note: expanded from macro 'CMP_VECTORS' 2791 | if ( rtok->usmpl[i] ) { rtok->pass_samples[i] = missing_logic[2]; rtok->pass_site = 1; } \ | ~ ^~~~~~~~~~~~~~~~ bcftools_filter.c:4473:108: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 4473 | CMP_VECTORS(filter->flt_stack[nstack-2],filter->flt_stack[nstack-1],&filter->filters[i],==,missing_logic) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ bcftools_filter.c:2805:73: note: expanded from macro 'CMP_VECTORS' 2805 | if ( rtok->usmpl[i] ) { rtok->pass_samples[i] = missing_logic[miss]; rtok->pass_site = 1; } \ | ~ ^~~~~~~~~~~~~~~~~~~ bcftools_filter.c:4473:108: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 4473 | CMP_VECTORS(filter->flt_stack[nstack-2],filter->flt_stack[nstack-1],&filter->filters[i],==,missing_logic) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ bcftools_filter.c:2816:76: note: expanded from macro 'CMP_VECTORS' 2816 | if ( missing_logic[++miss] ) { rtok->pass_samples[i] = missing_logic[miss]; rtok->pass_site = 1; } \ | ~ ^~~~~~~~~~~~~~~~~~~ bcftools_filter.c:4475:108: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 4475 | CMP_VECTORS(filter->flt_stack[nstack-2],filter->flt_stack[nstack-1],&filter->filters[i],!=,missing_logic) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ bcftools_filter.c:2791:69: note: expanded from macro 'CMP_VECTORS' 2791 | if ( rtok->usmpl[i] ) { rtok->pass_samples[i] = missing_logic[2]; rtok->pass_site = 1; } \ | ~ ^~~~~~~~~~~~~~~~ bcftools_filter.c:4475:108: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 4475 | CMP_VECTORS(filter->flt_stack[nstack-2],filter->flt_stack[nstack-1],&filter->filters[i],!=,missing_logic) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ bcftools_filter.c:2805:73: note: expanded from macro 'CMP_VECTORS' 2805 | if ( rtok->usmpl[i] ) { rtok->pass_samples[i] = missing_logic[miss]; rtok->pass_site = 1; } \ | ~ ^~~~~~~~~~~~~~~~~~~ bcftools_filter.c:4475:108: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 4475 | CMP_VECTORS(filter->flt_stack[nstack-2],filter->flt_stack[nstack-1],&filter->filters[i],!=,missing_logic) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ bcftools_filter.c:2816:76: note: expanded from macro 'CMP_VECTORS' 2816 | if ( missing_logic[++miss] ) { rtok->pass_samples[i] = missing_logic[miss]; rtok->pass_site = 1; } \ | ~ ^~~~~~~~~~~~~~~~~~~ bcftools_filter.c:4477:108: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 4477 | CMP_VECTORS(filter->flt_stack[nstack-2],filter->flt_stack[nstack-1],&filter->filters[i],<=,missing_logic) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ bcftools_filter.c:2791:69: note: expanded from macro 'CMP_VECTORS' 2791 | if ( rtok->usmpl[i] ) { rtok->pass_samples[i] = missing_logic[2]; rtok->pass_site = 1; } \ | ~ ^~~~~~~~~~~~~~~~ bcftools_filter.c:4477:108: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 4477 | CMP_VECTORS(filter->flt_stack[nstack-2],filter->flt_stack[nstack-1],&filter->filters[i],<=,missing_logic) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ bcftools_filter.c:2805:73: note: expanded from macro 'CMP_VECTORS' 2805 | if ( rtok->usmpl[i] ) { rtok->pass_samples[i] = missing_logic[miss]; rtok->pass_site = 1; } \ | ~ ^~~~~~~~~~~~~~~~~~~ bcftools_filter.c:4477:108: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 4477 | CMP_VECTORS(filter->flt_stack[nstack-2],filter->flt_stack[nstack-1],&filter->filters[i],<=,missing_logic) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ bcftools_filter.c:2816:76: note: expanded from macro 'CMP_VECTORS' 2816 | if ( missing_logic[++miss] ) { rtok->pass_samples[i] = missing_logic[miss]; rtok->pass_site = 1; } \ | ~ ^~~~~~~~~~~~~~~~~~~ bcftools_filter.c:4479:107: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 4479 | CMP_VECTORS(filter->flt_stack[nstack-2],filter->flt_stack[nstack-1],&filter->filters[i],<,missing_logic) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ bcftools_filter.c:2791:69: note: expanded from macro 'CMP_VECTORS' 2791 | if ( rtok->usmpl[i] ) { rtok->pass_samples[i] = missing_logic[2]; rtok->pass_site = 1; } \ | ~ ^~~~~~~~~~~~~~~~ bcftools_filter.c:4479:107: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 4479 | CMP_VECTORS(filter->flt_stack[nstack-2],filter->flt_stack[nstack-1],&filter->filters[i],<,missing_logic) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ bcftools_filter.c:2805:73: note: expanded from macro 'CMP_VECTORS' 2805 | if ( rtok->usmpl[i] ) { rtok->pass_samples[i] = missing_logic[miss]; rtok->pass_site = 1; } \ | ~ ^~~~~~~~~~~~~~~~~~~ bcftools_filter.c:4479:107: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 4479 | CMP_VECTORS(filter->flt_stack[nstack-2],filter->flt_stack[nstack-1],&filter->filters[i],<,missing_logic) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ bcftools_filter.c:2816:76: note: expanded from macro 'CMP_VECTORS' 2816 | if ( missing_logic[++miss] ) { rtok->pass_samples[i] = missing_logic[miss]; rtok->pass_site = 1; } \ | ~ ^~~~~~~~~~~~~~~~~~~ bcftools_filter.c:4481:107: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 4481 | CMP_VECTORS(filter->flt_stack[nstack-2],filter->flt_stack[nstack-1],&filter->filters[i],>,missing_logic) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ bcftools_filter.c:2791:69: note: expanded from macro 'CMP_VECTORS' 2791 | if ( rtok->usmpl[i] ) { rtok->pass_samples[i] = missing_logic[2]; rtok->pass_site = 1; } \ | ~ ^~~~~~~~~~~~~~~~ bcftools_filter.c:4481:107: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 4481 | CMP_VECTORS(filter->flt_stack[nstack-2],filter->flt_stack[nstack-1],&filter->filters[i],>,missing_logic) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ bcftools_filter.c:2805:73: note: expanded from macro 'CMP_VECTORS' 2805 | if ( rtok->usmpl[i] ) { rtok->pass_samples[i] = missing_logic[miss]; rtok->pass_site = 1; } \ | ~ ^~~~~~~~~~~~~~~~~~~ bcftools_filter.c:4481:107: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 4481 | CMP_VECTORS(filter->flt_stack[nstack-2],filter->flt_stack[nstack-1],&filter->filters[i],>,missing_logic) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ bcftools_filter.c:2816:76: note: expanded from macro 'CMP_VECTORS' 2816 | if ( missing_logic[++miss] ) { rtok->pass_samples[i] = missing_logic[miss]; rtok->pass_site = 1; } \ | ~ ^~~~~~~~~~~~~~~~~~~ bcftools_filter.c:4483:108: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 4483 | CMP_VECTORS(filter->flt_stack[nstack-2],filter->flt_stack[nstack-1],&filter->filters[i],>=,missing_logic) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ bcftools_filter.c:2791:69: note: expanded from macro 'CMP_VECTORS' 2791 | if ( rtok->usmpl[i] ) { rtok->pass_samples[i] = missing_logic[2]; rtok->pass_site = 1; } \ | ~ ^~~~~~~~~~~~~~~~ bcftools_filter.c:4483:108: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 4483 | CMP_VECTORS(filter->flt_stack[nstack-2],filter->flt_stack[nstack-1],&filter->filters[i],>=,missing_logic) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ bcftools_filter.c:2805:73: note: expanded from macro 'CMP_VECTORS' 2805 | if ( rtok->usmpl[i] ) { rtok->pass_samples[i] = missing_logic[miss]; rtok->pass_site = 1; } \ | ~ ^~~~~~~~~~~~~~~~~~~ bcftools_filter.c:4483:108: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 4483 | CMP_VECTORS(filter->flt_stack[nstack-2],filter->flt_stack[nstack-1],&filter->filters[i],>=,missing_logic) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ bcftools_filter.c:2816:76: note: expanded from macro 'CMP_VECTORS' 2816 | if ( missing_logic[++miss] ) { rtok->pass_samples[i] = missing_logic[miss]; rtok->pass_site = 1; } \ | ~ ^~~~~~~~~~~~~~~~~~~ bcftools_filter.c:4497:79: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 4497 | filter->flt_stack[0]->pass_samples[i] = filter->flt_stack[0]->pass_site; | ~ ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ bcftools_filter.c:4388:75: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 4388 | filter->filters[i].nvalues = filter->filters[i].str_value.l; | ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 133 warnings generated. Compiling bcftools_shim.c -> bcftools_shim.o In file included from bcftools_shim.c:2: In file included from ./include/bcftools_shim.h:9: In file included from ./htslib/htslib/synced_bcf_reader.h:59: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from bcftools_shim.c:2: In file included from ./include/bcftools_shim.h:9: In file included from ./htslib/htslib/synced_bcf_reader.h:59: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from bcftools_shim.c:2: In file included from ./include/bcftools_shim.h:9: In file included from ./htslib/htslib/synced_bcf_reader.h:60: In file included from ./htslib/htslib/vcf.h:42: ./htslib/htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from bcftools_shim.c:2: In file included from ./include/bcftools_shim.h:9: In file included from ./htslib/htslib/synced_bcf_reader.h:60: ./htslib/htslib/vcf.h:1579:26: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1579 | *p++ = (size<<4) | type; | ~ ~~~~~~~~~~^~~~~~ ./htslib/htslib/vcf.h:1587:17: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1587 | *p++ = 15<<4|type; | ~ ~~~~~^~~~~ ./htslib/htslib/vcf.h:1591:16: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1591 | *p++ = size; | ~ ^~~~ ./htslib/htslib/vcf.h:1596:23: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1596 | i16_to_le(size, p); | ~~~~~~~~~ ^~~~ ./htslib/htslib/vcf.h:1632:16: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1632 | p[1] = x; | ~ ^ ./htslib/htslib/vcf.h:1636:19: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1636 | i16_to_le(x, p+1); | ~~~~~~~~~ ^ ./htslib/htslib/vcf.h:1708:19: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1708 | } else return bcf_dec_typed_int1(p + 1, q); | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 19 warnings generated. Compiling score_udf.c -> score_udf.o In file included from score_udf.c:14: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from score_udf.c:14: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from score_udf.c:17: In file included from ./htslib/htslib/synced_bcf_reader.h:60: In file included from ./htslib/htslib/vcf.h:42: ./htslib/htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from score_udf.c:17: In file included from ./htslib/htslib/synced_bcf_reader.h:60: ./htslib/htslib/vcf.h:1579:26: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1579 | *p++ = (size<<4) | type; | ~ ~~~~~~~~~~^~~~~~ ./htslib/htslib/vcf.h:1587:17: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1587 | *p++ = 15<<4|type; | ~ ~~~~~^~~~~ ./htslib/htslib/vcf.h:1591:16: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1591 | *p++ = size; | ~ ^~~~ ./htslib/htslib/vcf.h:1596:23: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1596 | i16_to_le(size, p); | ~~~~~~~~~ ^~~~ ./htslib/htslib/vcf.h:1632:16: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1632 | p[1] = x; | ~ ^ ./htslib/htslib/vcf.h:1636:19: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1636 | i16_to_le(x, p+1); | ~~~~~~~~~ ^ ./htslib/htslib/vcf.h:1708:19: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1708 | } else return bcf_dec_typed_int1(p + 1, q); | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ score_udf.c:2627:33: warning: implicit conversion turns floating-point number into integer: 'float' to 'bool' [-Wfloat-conversion] 2627 | if (missing[k]) continue; | ~~ ^~~~~~~~~~ 20 warnings generated. Compiling vep_parser.c -> vep_parser.o In file included from vep_parser.c:8: In file included from ./include/vep_parser.h:12: In file included from ./htslib/htslib/vcf.h:39: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from vep_parser.c:8: In file included from ./include/vep_parser.h:12: In file included from ./htslib/htslib/vcf.h:39: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ In file included from vep_parser.c:8: In file included from ./include/vep_parser.h:12: In file included from ./htslib/htslib/vcf.h:42: ./htslib/htslib/hts_endian.h:133:30: warning: implicit conversion loses integer precision: 'int' to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] 133 | return (uint16_t) buf[0] | ((uint16_t) buf[1] << 8); | ~~~~~~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ./htslib/htslib/hts_endian.h:231:68: warning: implicit conversion loses integer precision: 'int' to 'int8_t' (aka 'signed char') [-Wimplicit-int-conversion] 231 | return *buf < 0x80 ? (int8_t) *buf : -((int8_t) (0xff - *buf)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ ./htslib/htslib/hts_endian.h:242:65: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 242 | return v < 0x8000 ? (int16_t) v : -((int16_t) (0xffff - v)) - 1; | ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ In file included from vep_parser.c:8: In file included from ./include/vep_parser.h:12: ./htslib/htslib/vcf.h:1579:26: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1579 | *p++ = (size<<4) | type; | ~ ~~~~~~~~~~^~~~~~ ./htslib/htslib/vcf.h:1587:17: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1587 | *p++ = 15<<4|type; | ~ ~~~~~^~~~~ ./htslib/htslib/vcf.h:1591:16: warning: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1591 | *p++ = size; | ~ ^~~~ ./htslib/htslib/vcf.h:1596:23: warning: implicit conversion loses integer precision: 'int' to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1596 | i16_to_le(size, p); | ~~~~~~~~~ ^~~~ ./htslib/htslib/vcf.h:1632:16: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] 1632 | p[1] = x; | ~ ^ ./htslib/htslib/vcf.h:1636:19: warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'int16_t' (aka 'short') [-Wimplicit-int-conversion] 1636 | i16_to_le(x, p+1); | ~~~~~~~~~ ^ ./htslib/htslib/vcf.h:1708:19: warning: implicit conversion loses integer precision: 'int64_t' (aka 'long long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32] 1708 | } else return bcf_dec_typed_int1(p + 1, q); | ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ vep_parser.c:520:26: warning: unused function 'parse_single_transcript' [-Wunused-function] 520 | static vep_transcript_t* parse_single_transcript(const vep_schema_t* schema, const char* transcript_str) { | ^~~~~~~~~~~~~~~~~~~~~~~ 20 warnings generated. Compiling duckvep/kernel/src/duckvep_kernel.c -> duckvep/kernel/src/duckvep_kernel.o Compiling duckvep/kernel/src/duckvep_so.c -> duckvep/kernel/src/duckvep_so.o Compiling duckvep/kernel/src/duckvep_sweep.c -> duckvep/kernel/src/duckvep_sweep.o Compiling duckvep/kernel/src/duckvep_classify.c -> duckvep/kernel/src/duckvep_classify.o Compiling duckvep/kernel/src/duckvep_effect.c -> duckvep/kernel/src/duckvep_effect.o Compiling duckvep/kernel/src/duckvep_sv.c -> duckvep/kernel/src/duckvep_sv.o Compiling duckvep/kernel/src/duckvep_delta.c -> duckvep/kernel/src/duckvep_delta.o duckvep/kernel/src/duckvep_delta.c:1088:12: warning: unused function 'delta_allele_bases_valid' [-Wunused-function] 1088 | static int delta_allele_bases_valid( | ^~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. Compiling duckvep/kernel/src/duckvep_projection.c -> duckvep/kernel/src/duckvep_projection.o Compiling duckvep/kernel/src/duckvep_transcript_edit.c -> duckvep/kernel/src/duckvep_transcript_edit.o Compiling duckvep/kernel/src/duckvep_hgvs.c -> duckvep/kernel/src/duckvep_hgvs.o Compiling duckvep/kernel/src/duckvep_codon.c -> duckvep/kernel/src/duckvep_codon.o Compiling duckvep/kernel/src/duckvep_coding.c -> duckvep/kernel/src/duckvep_coding.o Compiling duckvep/kernel/src/duckvep_haplotype.c -> duckvep/kernel/src/duckvep_haplotype.o Compiling duckvep/duckvep_variant_tile.c -> duckvep/duckvep_variant_tile.o Compiling duckvep/duckvep_model.c -> duckvep/duckvep_model.o In file included from duckvep/duckvep_model.c:1: In file included from duckvep/duckvep_model.h:9: In file included from ./htslib/htslib/faidx.h:34: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from duckvep/duckvep_model.c:1: In file included from duckvep/duckvep_model.h:9: In file included from ./htslib/htslib/faidx.h:34: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ 9 warnings generated. Compiling duckvep/duckvep_annotate.c -> duckvep/duckvep_annotate.o In file included from duckvep/duckvep_annotate.c:5: In file included from duckvep/duckvep_model.h:9: In file included from ./htslib/htslib/faidx.h:34: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from duckvep/duckvep_annotate.c:5: In file included from duckvep/duckvep_model.h:9: In file included from ./htslib/htslib/faidx.h:34: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ 9 warnings generated. Compiling duckvep/duckvep_ensembl.c -> duckvep/duckvep_ensembl.o Compiling duckvep/duckvep_sql.c -> duckvep/duckvep_sql.o Compiling kmer_udf.c -> kmer_udf.o In file included from kmer_udf.c:9: In file included from ./include/seq_encoding.h:28: In file included from ./htslib/htslib/hts.h:37: ./htslib/htslib/kstring.h:250:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 250 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:263:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 263 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:272:17: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion] 272 | s->s[s->l++] = c; | ~ ^ ./htslib/htslib/kstring.h:283:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32] 283 | return l; | ~~~~~~ ^ ./htslib/htslib/kstring.h:322:27: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 322 | s->s[s->l++] = '0'+x; | ~ ~~~^~ ./htslib/htslib/kstring.h:364:19: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wimplicit-int-conversion] 364 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:438:19: warning: implicit conversion loses integer precision: 'unsigned long long' to 'char' [-Wimplicit-int-conversion] 438 | cp[0] = x + '0'; | ~ ~~^~~~~ ./htslib/htslib/kstring.h:398:16: warning: implicit conversion loses integer precision: 'unsigned long long' to 'unsigned int' [-Wshorten-64-to-32] 398 | return kputuw(x, s); | ~~~~~~ ^ In file included from kmer_udf.c:9: In file included from ./include/seq_encoding.h:28: ./htslib/htslib/hts.h:1520:40: warning: implicit conversion loses integer precision: 'hts_pos_t' (aka 'long long') to 'int' [-Wshorten-64-to-32] 1520 | if (beg>>s == end>>s) return t + (beg>>s); | ~~~~~~ ~~^~~~~~~~~~ 9 warnings generated. Compiling wasm_http_hfile.c -> wasm_http_hfile.o Linking DuckHTS extension... ---------- Cleaning up build artifacts ---------- Appending DuckDB extension metadata... [1] TRUE [1] TRUE ---------- DuckHTS extension built successfully ---------- -rwxr-xr-x 1 ripley staff 1065814 24 Jul 09:47 /Users/ripley/R/packages/tests-devel/Rduckhts/inst/duckhts_extension/build/duckhts.duckdb_extension Generated inst/htslib_config.R Configure complete ** R ** inst ** byte-compile and prepare package for lazy loading ** help *** installing help indices ** building package indices ** testing if installed package can be loaded from temporary location ** checking absolute paths in shared objects and dynamic libraries ** testing if installed package can be loaded from final location ** testing if installed package keeps a record of temporary installation path * DONE (Rduckhts)