Open vmlemon opened 5 years ago
The C parts of ALAC will supposedly compile, and link:
===> Making dependencies in .
===> crt0-amd64.S
gcc -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include -nostdinc -g -O2 -m64 -mno-red-zone -fno-stack-protector -lssp -O2 -g -Wall -Wshadow -fno-stack-protector -Wconversion -c crt0-amd64.S -o crt0-amd64.o
===> syslaunch.cc
gcc -x c++ -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include -nostdinc -g -O2 -m64 -mno-red-zone -fno-stack-protector -lssp -O2 -g -Wall -Wshadow -fno-stack-protector -Wconversion -fno-exceptions -c syslaunch.cc -o syslaunch.o
In file included from syslaunch.h:7,
from syslaunch.cc:1:
../../include/l4io.h:46:6: warning: declaration of ‘void putc(int)’ conflicts with built-in declaration ‘int putc(int, void*)’ [-Wbuiltin-declaration-mismatch]
void putc(int c);
^~~~
syslaunch.cc: In function ‘int main()’:
syslaunch.cc:98:12: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘L4_Word64_t’ {aka ‘long unsigned int’} [-Wformat=]
printf("The clock says: %d\n", L4_SystemClock().raw);
^~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
In file included from ../../include/l4/kip.h:36,
from ../../include/l4/sigma0.h:36,
from syslaunch.h:8,
from syslaunch.cc:1:
../../include/l4/amd64/syscalls.h: In function ‘L4_Clock_t L4_SystemClock()’:
../../include/l4/amd64/syscalls.h:197:19: warning: ‘ret.L4_Clock_t::raw’ is used uninitialized in this function [-Wuninitialized]
[dest] "0" (ret.raw) /* %1 RAX */
~~~~^~~
../../include/l4/amd64/syscalls.h: In function ‘int main()’:
../../include/l4/amd64/syscalls.h:201:3: warning: ‘ret.L4_Clock_t::raw’ is used uninitialized in this function [-Wuninitialized]
);
^
../../include/l4/amd64/syscalls.h:187:16: note: ‘ret.L4_Clock_t::raw’ was declared here
L4_Clock_t ret;
^~~
===> ALAC/codec/ag_dec.c
gcc -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include -nostdinc -g -O2 -m64 -mno-red-zone -fno-stack-protector -lssp -O2 -g -Wall -Wshadow -fno-stack-protector -Wconversion -std=c99 -c ALAC/codec/ag_dec.c -o ALAC/codec/ag_dec.o
In file included from ALAC/codec/ag_dec.c:31:
ALAC/codec/ALACAudioTypes.h:64:32: warning: multi-character character constant [-Wmultichar]
kALACFormatAppleLossless = 'alac',
^~~~~~
ALAC/codec/ALACAudioTypes.h:65:28: warning: multi-character character constant [-Wmultichar]
kALACFormatLinearPCM = 'lpcm'
^~~~~~
ALAC/codec/ALACAudioTypes.h:154:22: warning: multi-character character constant [-Wmultichar]
kALACCodecFormat = 'alac',
^~~~~~
ALAC/codec/ALACAudioTypes.h:182:26: warning: multi-character character constant [-Wmultichar]
AudioChannelLayoutAID = 'chan'
^~~~~~
In file included from ALAC/codec/ag_dec.c:34:
../../include/stdio.h: In function ‘__sputc’:
../../include/stdio.h:460:23: warning: conversion from ‘int’ to ‘unsigned char’ may change value [-Wconversion]
return (*_p->_p++ = _c);
^~
In file included from ../../include/string.h:2,
from ALAC/codec/ag_dec.c:36:
../../include/sys/types.h: In function ‘__bitcount16’:
../../include/sys/types.h:327:7: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
_x = (_x & 0x5555) + ((_x & 0xaaaa) >> 1);
^
../../include/sys/types.h:328:7: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
_x = (_x & 0x3333) + ((_x & 0xcccc) >> 2);
^
In file included from ../../include/sys/types.h:376,
from ../../include/string.h:2,
from ALAC/codec/ag_dec.c:36:
../../include/sys/select.h: At top level:
../../include/sys/select.h:105:54: warning: ‘struct timeval’ declared inside parameter list will not be visible outside of this definition or declaration
int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
^~~~~~~
In file included from ../../include/string.h:2,
from ALAC/codec/ag_dec.c:36:
../../include/sys/types.h: In function ‘__major’:
../../include/sys/types.h:393:36: warning: conversion from ‘dev_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
return (((_d >> 32) & 0xffffff00) | ((_d >> 8) & 0xff));
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
../../include/sys/types.h: In function ‘__minor’:
../../include/sys/types.h:399:32: warning: conversion from ‘dev_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
return (((_d >> 24) & 0xff00) | (_d & 0xffff00ff));
~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
../../include/sys/types.h: In function ‘__makedev’:
../../include/sys/types.h:405:26: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
return (((dev_t)(_Major & 0xffffff00) << 32) | ((_Major & 0xff) << 8) |
^
../../include/sys/types.h:405:47: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
return (((dev_t)(_Major & 0xffffff00) << 32) | ((_Major & 0xff) << 8) |
^
../../include/sys/types.h:406:49: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
((dev_t)(_Minor & 0xff00) << 24) | (_Minor & 0xffff00ff));
^
ALAC/codec/ag_dec.c: In function ‘lead’:
ALAC/codec/ag_dec.c:98:9: warning: conversion to ‘long unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
if((c & m) != 0)
^
ALAC/codec/ag_dec.c:102:9: warning: conversion from ‘long int’ to ‘int32_t’ {aka ‘int’} may change value [-Wconversion]
return (j);
^
ALAC/codec/ag_dec.c: In function ‘getstreambits’:
ALAC/codec/ag_dec.c:139:24: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
uint32_t byteoffset = bitoffset / 8;
^~~~~~~~~
ALAC/codec/ag_dec.c:165:13: warning: conversion from ‘long unsigned int’ to ‘uint32_t’ {aka ‘unsigned int’} may change value [-Wconversion]
result &= ~(0xfffffffful << numbits);
^
ALAC/codec/ag_dec.c: In function ‘dyn_get’:
ALAC/codec/ag_dec.c:184:18: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
pre = lead( notI);
^~~~
ALAC/codec/ag_dec.c:184:12: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
pre = lead( notI);
^~~~
ALAC/codec/ag_dec.c:216:12: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
return result;
^~~~~~
ALAC/codec/ag_dec.c: In function ‘dyn_get_32bit’:
ALAC/codec/ag_dec.c:233:18: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
result = lead( notI);
^~~~
ALAC/codec/ag_dec.c:233:12: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
result = lead( notI);
^~~~
ALAC/codec/ag_dec.c:238:38: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
result = getstreambits(in, tempbits+MAX_PREFIX_32, maxbits);
ALAC/codec/ag_dec.c:239:12: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
tempbits += MAX_PREFIX_32 + maxbits;
^~
ALAC/codec/ag_dec.c:255:13: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
tempbits += k;
^~
ALAC/codec/ag_dec.c:257:19: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
result = result*m;
^
ALAC/codec/ag_dec.c:269:9: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
return result;
^~~~~~
ALAC/codec/ag_dec.c: In function ‘dyn_decomp’:
ALAC/codec/ag_dec.c:305:18: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
k = lg3a(m);
^
ALAC/codec/ag_dec.c:305:13: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
k = lg3a(m);
^~~~
ALAC/codec/ag_dec.c:308:13: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
m = (1<<k)-1;
^
ALAC/codec/ag_dec.c:310:35: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
n = dyn_get_32bit( in, &bitPos, m, k, maxSize );
^
ALAC/codec/ag_dec.c:310:38: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
n = dyn_get_32bit( in, &bitPos, m, k, maxSize );
^
ALAC/codec/ag_dec.c:310:7: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
n = dyn_get_32bit( in, &bitPos, m, k, maxSize );
^~~~~~~~~~~~~
ALAC/codec/ag_dec.c:314:31: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
uint32_t ndecode = n + zmode;
^
ALAC/codec/ag_dec.c:315:35: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
int32_t multiplier = (- (ndecode&1));
^
ALAC/codec/ag_dec.c:318:38: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
del = ((ndecode+1) >> 1) * (multiplier);
^
ALAC/codec/ag_dec.c:318:19: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
del = ((ndecode+1) >> 1) * (multiplier);
^
ALAC/codec/ag_dec.c:325:25: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
mb = pb_local*(n+zmode) + mb - ((pb_local*mb)>>QBSHIFT);
^
ALAC/codec/ag_dec.c:336:22: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
k = lead(mb) - BITOFF+((mb+MOFF)>>MDENSHIFT);
^~
ALAC/codec/ag_dec.c:336:34: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
k = lead(mb) - BITOFF+((mb+MOFF)>>MDENSHIFT);
^
ALAC/codec/ag_dec.c:337:29: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
mz = ((1<<k)-1) & wb_local;
^
ALAC/codec/ag_dec.c:339:17: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
n = dyn_get(in, &bitPos, mz, k);
^~~~~~~
===> ALAC/codec/dp_dec.c
gcc -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include -nostdinc -g -O2 -m64 -mno-red-zone -fno-stack-protector -lssp -O2 -g -Wall -Wshadow -fno-stack-protector -Wconversion -std=c99 -c ALAC/codec/dp_dec.c -o ALAC/codec/dp_dec.o
In file included from ../../include/string.h:2,
from ALAC/codec/dp_dec.c:31:
../../include/sys/types.h: In function ‘__bitcount16’:
../../include/sys/types.h:327:7: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
_x = (_x & 0x5555) + ((_x & 0xaaaa) >> 1);
^
../../include/sys/types.h:328:7: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
_x = (_x & 0x3333) + ((_x & 0xcccc) >> 2);
^
In file included from ../../include/sys/types.h:376,
from ../../include/string.h:2,
from ALAC/codec/dp_dec.c:31:
../../include/sys/select.h: At top level:
../../include/sys/select.h:105:54: warning: ‘struct timeval’ declared inside parameter list will not be visible outside of this definition or declaration
int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
^~~~~~~
In file included from ../../include/string.h:2,
from ALAC/codec/dp_dec.c:31:
../../include/sys/types.h: In function ‘__major’:
../../include/sys/types.h:393:36: warning: conversion from ‘dev_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
return (((_d >> 32) & 0xffffff00) | ((_d >> 8) & 0xff));
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
../../include/sys/types.h: In function ‘__minor’:
../../include/sys/types.h:399:32: warning: conversion from ‘dev_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
return (((_d >> 24) & 0xff00) | (_d & 0xffff00ff));
~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
../../include/sys/types.h: In function ‘__makedev’:
../../include/sys/types.h:405:26: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
return (((dev_t)(_Major & 0xffffff00) << 32) | ((_Major & 0xff) << 8) |
^
../../include/sys/types.h:405:47: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
return (((dev_t)(_Major & 0xffffff00) << 32) | ((_Major & 0xff) << 8) |
^
../../include/sys/types.h:406:49: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
((dev_t)(_Minor & 0xff00) << 24) | (_Minor & 0xffff00ff));
^
ALAC/codec/dp_dec.c: In function ‘sign_of_int’:
ALAC/codec/dp_dec.c:51:17: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
negishift = ((uint32_t)-i) >> 31;
^
ALAC/codec/dp_dec.c: In function ‘unpc_block’:
ALAC/codec/dp_dec.c:71:4: warning: implicit declaration of function ‘memcpy’ [-Wimplicit-function-declaration]
memcpy( &out[1], &pc1[1], (num - 1) * sizeof(int32_t) );
^~~~~~
ALAC/codec/dp_dec.c:71:4: warning: incompatible implicit declaration of built-in function ‘memcpy’
ALAC/codec/dp_dec.c:71:4: note: include ‘<string.h>’ or provide a declaration of ‘memcpy’
ALAC/codec/dp_dec.c:32:1:
+#include <string.h>
ALAC/codec/dp_dec.c:71:4:
memcpy( &out[1], &pc1[1], (num - 1) * sizeof(int32_t) );
^~~~~~
ALAC/codec/dp_dec.c:71:40: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
memcpy( &out[1], &pc1[1], (num - 1) * sizeof(int32_t) );
^
ALAC/codec/dp_dec.c:108:20: warning: declaration of ‘a0’ shadows a previous local [-Wshadow]
register int16_t a0, a1, a2, a3;
^~
ALAC/codec/dp_dec.c:57:19: note: shadowed declaration is here
register int16_t a0, a1, a2, a3;
^~
ALAC/codec/dp_dec.c:108:24: warning: declaration of ‘a1’ shadows a previous local [-Wshadow]
register int16_t a0, a1, a2, a3;
^~
ALAC/codec/dp_dec.c:57:23: note: shadowed declaration is here
register int16_t a0, a1, a2, a3;
^~
ALAC/codec/dp_dec.c:108:28: warning: declaration of ‘a2’ shadows a previous local [-Wshadow]
register int16_t a0, a1, a2, a3;
^~
ALAC/codec/dp_dec.c:57:27: note: shadowed declaration is here
register int16_t a0, a1, a2, a3;
^~
ALAC/codec/dp_dec.c:108:32: warning: declaration of ‘a3’ shadows a previous local [-Wshadow]
register int16_t a0, a1, a2, a3;
^~
ALAC/codec/dp_dec.c:57:31: note: shadowed declaration is here
register int16_t a0, a1, a2, a3;
^~
ALAC/codec/dp_dec.c:109:20: warning: declaration of ‘b0’ shadows a previous local [-Wshadow]
register int32_t b0, b1, b2, b3;
^~
ALAC/codec/dp_dec.c:58:19: note: shadowed declaration is here
register int32_t b0, b1, b2, b3;
^~
ALAC/codec/dp_dec.c:109:24: warning: declaration of ‘b1’ shadows a previous local [-Wshadow]
register int32_t b0, b1, b2, b3;
^~
ALAC/codec/dp_dec.c:58:23: note: shadowed declaration is here
register int32_t b0, b1, b2, b3;
^~
ALAC/codec/dp_dec.c:109:28: warning: declaration of ‘b2’ shadows a previous local [-Wshadow]
register int32_t b0, b1, b2, b3;
^~
ALAC/codec/dp_dec.c:58:27: note: shadowed declaration is here
register int32_t b0, b1, b2, b3;
^~
ALAC/codec/dp_dec.c:109:32: warning: declaration of ‘b3’ shadows a previous local [-Wshadow]
register int32_t b0, b1, b2, b3;
^~
ALAC/codec/dp_dec.c:58:31: note: shadowed declaration is here
register int32_t b0, b1, b2, b3;
^~
ALAC/codec/dp_dec.c:140:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a3 -= sgn;
^~~
ALAC/codec/dp_dec.c:146:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a2 -= sgn;
^~~
ALAC/codec/dp_dec.c:152:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a1 -= sgn;
^~~
ALAC/codec/dp_dec.c:157:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a0 -= sign_of_int( b0 );
^~~~~~~~~~~
ALAC/codec/dp_dec.c:163:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a3 -= sgn;
^~~
ALAC/codec/dp_dec.c:169:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a2 -= sgn;
^~~
ALAC/codec/dp_dec.c:175:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a1 -= sgn;
^~~
ALAC/codec/dp_dec.c:180:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a0 += sign_of_int( b0 );
^~~~~~~~~~~
ALAC/codec/dp_dec.c:234:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a7 -= sgn;
^~~
ALAC/codec/dp_dec.c:240:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a6 -= sgn;
^~~
ALAC/codec/dp_dec.c:246:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a5 -= sgn;
^~~
ALAC/codec/dp_dec.c:252:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a4 -= sgn;
^~~
ALAC/codec/dp_dec.c:258:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a3 -= sgn;
^~~
ALAC/codec/dp_dec.c:264:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a2 -= sgn;
^~~
ALAC/codec/dp_dec.c:270:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a1 -= sgn;
^~~
ALAC/codec/dp_dec.c:275:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a0 -= sign_of_int( b0 );
^~~~~~~~~~~
ALAC/codec/dp_dec.c:281:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a7 -= sgn;
^~~
ALAC/codec/dp_dec.c:287:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a6 -= sgn;
^~~
ALAC/codec/dp_dec.c:293:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a5 -= sgn;
^~~
ALAC/codec/dp_dec.c:299:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a4 -= sgn;
^~~
ALAC/codec/dp_dec.c:305:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a3 -= sgn;
^~~
ALAC/codec/dp_dec.c:311:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a2 -= sgn;
^~~
ALAC/codec/dp_dec.c:317:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a1 -= sgn;
^~~
ALAC/codec/dp_dec.c:322:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a0 += sign_of_int( b0 );
^~~~~~~~~~~
ALAC/codec/dp_dec.c:361:18: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
coefs[k] -= sgn;
^~~
ALAC/codec/dp_dec.c:373:18: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
coefs[k] += sgn;
^~~
===> ALAC/codec/EndianPortable.c
gcc -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include -nostdinc -g -O2 -m64 -mno-red-zone -fno-stack-protector -lssp -O2 -g -Wall -Wshadow -fno-stack-protector -Wconversion -std=c99 -c ALAC/codec/EndianPortable.c -o ALAC/codec/EndianPortable.o
In file included from ALAC/codec/EndianPortable.c:27:
../../include/stdio.h: In function ‘__sputc’:
../../include/stdio.h:460:23: warning: conversion from ‘int’ to ‘unsigned char’ may change value [-Wconversion]
return (*_p->_p++ = _c);
^~
ALAC/codec/EndianPortable.c: In function ‘Swap16NtoB’:
ALAC/codec/EndianPortable.c:30:31: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
#define BSWAP16(x) (((x << 8) | ((x >> 8) & 0x00ff)))
~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
ALAC/codec/EndianPortable.c:48:12: note: in expansion of macro ‘BSWAP16’
return BSWAP16(inUInt16);
^~~~~~~
ALAC/codec/EndianPortable.c: In function ‘Swap16BtoN’:
ALAC/codec/EndianPortable.c:30:31: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
#define BSWAP16(x) (((x << 8) | ((x >> 8) & 0x00ff)))
~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
ALAC/codec/EndianPortable.c:57:12: note: in expansion of macro ‘BSWAP16’
return BSWAP16(inUInt16);
^~~~~~~
ALAC/codec/EndianPortable.c: In function ‘Swap64BtoN’:
ALAC/codec/EndianPortable.c:35:65: warning: conversion to ‘uint64_t’ {aka ‘long unsigned int’} from ‘long long int’ may change the sign of the result [-Wsign-conversion]
#define BSWAP64(x) ((((int64_t)x << 56) | (((int64_t)x << 40) & 0x00ff000000000000LL) | \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(((int64_t)x << 24) & 0x0000ff0000000000LL) | (((int64_t)x << 8) & 0x000000ff00000000LL) | \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(((int64_t)x >> 8) & 0x00000000ff000000LL) | (((int64_t)x >> 24) & 0x0000000000ff0000LL) | \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(((int64_t)x >> 40) & 0x000000000000ff00LL) | (((int64_t)x >> 56) & 0x00000000000000ffLL)))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ALAC/codec/EndianPortable.c:84:12: note: in expansion of macro ‘BSWAP64’
return BSWAP64(inUInt64);
^~~~~~~
ALAC/codec/EndianPortable.c: In function ‘Swap64NtoB’:
ALAC/codec/EndianPortable.c:35:65: warning: conversion to ‘uint64_t’ {aka ‘long unsigned int’} from ‘long long int’ may change the sign of the result [-Wsign-conversion]
#define BSWAP64(x) ((((int64_t)x << 56) | (((int64_t)x << 40) & 0x00ff000000000000LL) | \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(((int64_t)x << 24) & 0x0000ff0000000000LL) | (((int64_t)x << 8) & 0x000000ff00000000LL) | \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(((int64_t)x >> 8) & 0x00000000ff000000LL) | (((int64_t)x >> 24) & 0x0000000000ff0000LL) | \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(((int64_t)x >> 40) & 0x000000000000ff00LL) | (((int64_t)x >> 56) & 0x00000000000000ffLL)))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ALAC/codec/EndianPortable.c:93:12: note: in expansion of macro ‘BSWAP64’
return BSWAP64(inUInt64);
^~~~~~~
ALAC/codec/EndianPortable.c: In function ‘Swap16’:
ALAC/codec/EndianPortable.c:30:20: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
#define BSWAP16(x) (((x << 8) | ((x >> 8) & 0x00ff)))
^
ALAC/codec/EndianPortable.c:161:14: note: in expansion of macro ‘BSWAP16’
*inUInt16 = BSWAP16(*inUInt16);
^~~~~~~
===> ALAC/codec/ALACBitUtilities.c
gcc -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include -nostdinc -g -O2 -m64 -mno-red-zone -fno-stack-protector -lssp -O2 -g -Wall -Wshadow -fno-stack-protector -Wconversion -std=c99 -c ALAC/codec/ALACBitUtilities.c -o ALAC/codec/ALACBitUtilities.o
In file included from ALAC/codec/ALACBitUtilities.c:27:
../../include/stdio.h: In function ‘__sputc’:
../../include/stdio.h:460:23: warning: conversion from ‘int’ to ‘unsigned char’ may change value [-Wconversion]
return (*_p->_p++ = _c);
^~
ALAC/codec/ALACBitUtilities.c: In function ‘BitBufferReadSmall’:
ALAC/codec/ALACBitUtilities.c:73:15: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
returnBits = (bits->cur[0] << 8) | bits->cur[1];
^
ALAC/codec/ALACBitUtilities.c:74:15: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
returnBits = returnBits << bits->bitIndex;
^~~~~~~~~~
ALAC/codec/ALACBitUtilities.c:78:15: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
returnBits = returnBits >> (16 - numBits);
^~~~~~~~~~
ALAC/codec/ALACBitUtilities.c: In function ‘BitBufferWrite’:
ALAC/codec/ALACBitUtilities.c:233:12: warning: conversion from ‘unsigned int’ to ‘uint8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
mask = 0xffu >> (8 - curNum); // must be done in two steps to avoid compiler sequencing ambiguity
^~~~~
ALAC/codec/ALACBitUtilities.c:234:12: warning: conversion from ‘int’ to ‘uint8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
mask <<= shift;
^~~~~
ALAC/codec/ALACBitUtilities.c:236:18: warning: conversion from ‘int’ to ‘uint8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
bits->cur[0] = (bits->cur[0] & ~mask) | (((uint8_t) tmp << shift) & mask);
^
===> ALAC/codec/matrix_dec.c
gcc -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include -nostdinc -g -O2 -m64 -mno-red-zone -fno-stack-protector -lssp -O2 -g -Wall -Wshadow -fno-stack-protector -Wconversion -std=c99 -c ALAC/codec/matrix_dec.c -o ALAC/codec/matrix_dec.o
In file included from ALAC/codec/matrix_dec.c:30:
ALAC/codec/ALACAudioTypes.h:64:32: warning: multi-character character constant [-Wmultichar]
kALACFormatAppleLossless = 'alac',
^~~~~~
ALAC/codec/ALACAudioTypes.h:65:28: warning: multi-character character constant [-Wmultichar]
kALACFormatLinearPCM = 'lpcm'
^~~~~~
ALAC/codec/ALACAudioTypes.h:154:22: warning: multi-character character constant [-Wmultichar]
kALACCodecFormat = 'alac',
^~~~~~
ALAC/codec/ALACAudioTypes.h:182:26: warning: multi-character character constant [-Wmultichar]
AudioChannelLayoutAID = 'chan'
^~~~~~
ALAC/codec/matrix_dec.c: In function ‘unmix20’:
ALAC/codec/matrix_dec.c:113:36: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[HBYTE] = (uint8_t)((l >> 16) & 0xffu);
^
ALAC/codec/matrix_dec.c:114:36: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[MBYTE] = (uint8_t)((l >> 8) & 0xffu);
^
ALAC/codec/matrix_dec.c:115:36: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[LBYTE] = (uint8_t)((l >> 0) & 0xffu);
^
ALAC/codec/matrix_dec.c:118:36: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[HBYTE] = (uint8_t)((r >> 16) & 0xffu);
^
ALAC/codec/matrix_dec.c:119:36: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[MBYTE] = (uint8_t)((r >> 8) & 0xffu);
^
ALAC/codec/matrix_dec.c:120:36: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[LBYTE] = (uint8_t)((r >> 0) & 0xffu);
^
ALAC/codec/matrix_dec.c:133:38: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[HBYTE] = (uint8_t)((val >> 16) & 0xffu);
^
ALAC/codec/matrix_dec.c:134:38: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[MBYTE] = (uint8_t)((val >> 8) & 0xffu);
^
ALAC/codec/matrix_dec.c:135:38: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[LBYTE] = (uint8_t)((val >> 0) & 0xffu);
^
ALAC/codec/matrix_dec.c:139:38: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[HBYTE] = (uint8_t)((val >> 16) & 0xffu);
^
ALAC/codec/matrix_dec.c:140:38: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[MBYTE] = (uint8_t)((val >> 8) & 0xffu);
^
ALAC/codec/matrix_dec.c:141:38: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[LBYTE] = (uint8_t)((val >> 0) & 0xffu);
^
ALAC/codec/matrix_dec.c: In function ‘unmix24’:
ALAC/codec/matrix_dec.c:169:22: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
l = (l << shift) | (uint32_t) shiftUV[k + 0];
^
ALAC/codec/matrix_dec.c:169:9: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
l = (l << shift) | (uint32_t) shiftUV[k + 0];
^
ALAC/codec/matrix_dec.c:170:22: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
r = (r << shift) | (uint32_t) shiftUV[k + 1];
^
ALAC/codec/matrix_dec.c:170:9: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
r = (r << shift) | (uint32_t) shiftUV[k + 1];
^
ALAC/codec/matrix_dec.c:172:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[HBYTE] = (uint8_t)((l >> 16) & 0xffu);
^
ALAC/codec/matrix_dec.c:173:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[MBYTE] = (uint8_t)((l >> 8) & 0xffu);
^
ALAC/codec/matrix_dec.c:174:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[LBYTE] = (uint8_t)((l >> 0) & 0xffu);
^
ALAC/codec/matrix_dec.c:177:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[HBYTE] = (uint8_t)((r >> 16) & 0xffu);
^
ALAC/codec/matrix_dec.c:178:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[MBYTE] = (uint8_t)((r >> 8) & 0xffu);
^
ALAC/codec/matrix_dec.c:179:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[LBYTE] = (uint8_t)((r >> 0) & 0xffu);
^
ALAC/codec/matrix_dec.c:191:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[HBYTE] = (uint8_t)((l >> 16) & 0xffu);
^
ALAC/codec/matrix_dec.c:192:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[MBYTE] = (uint8_t)((l >> 8) & 0xffu);
^
ALAC/codec/matrix_dec.c:193:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[LBYTE] = (uint8_t)((l >> 0) & 0xffu);
^
ALAC/codec/matrix_dec.c:196:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[HBYTE] = (uint8_t)((r >> 16) & 0xffu);
^
ALAC/codec/matrix_dec.c:197:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[MBYTE] = (uint8_t)((r >> 8) & 0xffu);
^
ALAC/codec/matrix_dec.c:198:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[LBYTE] = (uint8_t)((r >> 0) & 0xffu);
^
ALAC/codec/matrix_dec.c:214:22: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
l = (l << shift) | (uint32_t) shiftUV[k + 0];
^
ALAC/codec/matrix_dec.c:214:9: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
l = (l << shift) | (uint32_t) shiftUV[k + 0];
^
ALAC/codec/matrix_dec.c:215:22: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
r = (r << shift) | (uint32_t) shiftUV[k + 1];
^
ALAC/codec/matrix_dec.c:215:9: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
r = (r << shift) | (uint32_t) shiftUV[k + 1];
^
ALAC/codec/matrix_dec.c:217:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[HBYTE] = (uint8_t)((l >> 16) & 0xffu);
^
ALAC/codec/matrix_dec.c:218:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[MBYTE] = (uint8_t)((l >> 8) & 0xffu);
^
ALAC/codec/matrix_dec.c:219:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[LBYTE] = (uint8_t)((l >> 0) & 0xffu);
^
ALAC/codec/matrix_dec.c:222:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[HBYTE] = (uint8_t)((r >> 16) & 0xffu);
^
ALAC/codec/matrix_dec.c:223:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[MBYTE] = (uint8_t)((r >> 8) & 0xffu);
^
ALAC/codec/matrix_dec.c:224:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[LBYTE] = (uint8_t)((r >> 0) & 0xffu);
^
ALAC/codec/matrix_dec.c:236:39: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[HBYTE] = (uint8_t)((val >> 16) & 0xffu);
^
ALAC/codec/matrix_dec.c:237:39: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[MBYTE] = (uint8_t)((val >> 8) & 0xffu);
^
ALAC/codec/matrix_dec.c:238:39: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[LBYTE] = (uint8_t)((val >> 0) & 0xffu);
^
ALAC/codec/matrix_dec.c:242:39: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[HBYTE] = (uint8_t)((val >> 16) & 0xffu);
^
ALAC/codec/matrix_dec.c:243:39: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[MBYTE] = (uint8_t)((val >> 8) & 0xffu);
^
ALAC/codec/matrix_dec.c:244:39: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[LBYTE] = (uint8_t)((val >> 0) & 0xffu);
^
ALAC/codec/matrix_dec.c: In function ‘unmix32’:
ALAC/codec/matrix_dec.c:280:25: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[0] = (l << shift) | (uint32_t) shiftUV[k + 0];
^
ALAC/codec/matrix_dec.c:280:12: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
op[0] = (l << shift) | (uint32_t) shiftUV[k + 0];
^
ALAC/codec/matrix_dec.c:281:25: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[1] = (r << shift) | (uint32_t) shiftUV[k + 1];
^
ALAC/codec/matrix_dec.c:281:12: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
op[1] = (r << shift) | (uint32_t) shiftUV[k + 1];
^
ALAC/codec/matrix_dec.c:302:29: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[0] = (u[j] << shift) | (uint32_t) shiftUV[k + 0];
^
ALAC/codec/matrix_dec.c:302:13: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
op[0] = (u[j] << shift) | (uint32_t) shiftUV[k + 0];
^
ALAC/codec/matrix_dec.c:303:29: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[1] = (v[j] << shift) | (uint32_t) shiftUV[k + 1];
^
ALAC/codec/matrix_dec.c:303:13: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
op[1] = (v[j] << shift) | (uint32_t) shiftUV[k + 1];
^
ALAC/codec/matrix_dec.c: In function ‘copyPredictorTo24’:
ALAC/codec/matrix_dec.c:321:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[HBYTE] = (uint8_t)((val >> 16) & 0xffu);
^
ALAC/codec/matrix_dec.c:322:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[MBYTE] = (uint8_t)((val >> 8) & 0xffu);
^
ALAC/codec/matrix_dec.c:323:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[LBYTE] = (uint8_t)((val >> 0) & 0xffu);
^
ALAC/codec/matrix_dec.c: In function ‘copyPredictorTo24Shift’:
ALAC/codec/matrix_dec.c:340:27: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
val = (val << shiftVal) | (uint32_t) shift[j];
^
ALAC/codec/matrix_dec.c:340:9: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
val = (val << shiftVal) | (uint32_t) shift[j];
^
ALAC/codec/matrix_dec.c:342:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[HBYTE] = (uint8_t)((val >> 16) & 0xffu);
^
ALAC/codec/matrix_dec.c:343:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[MBYTE] = (uint8_t)((val >> 8) & 0xffu);
^
ALAC/codec/matrix_dec.c:344:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[LBYTE] = (uint8_t)((val >> 0) & 0xffu);
^
ALAC/codec/matrix_dec.c: In function ‘copyPredictorTo20’:
ALAC/codec/matrix_dec.c:360:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[HBYTE] = (uint8_t)((val >> 12) & 0xffu);
^
ALAC/codec/matrix_dec.c:361:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[MBYTE] = (uint8_t)((val >> 4) & 0xffu);
^
ALAC/codec/matrix_dec.c:362:37: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[LBYTE] = (uint8_t)((val << 4) & 0xffu);
^
ALAC/codec/matrix_dec.c: In function ‘copyPredictorTo32’:
ALAC/codec/matrix_dec.c:372:45: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
for ( i = 0, j = 0; i < numSamples; i++, j += stride )
^~
ALAC/codec/matrix_dec.c:372:48: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
for ( i = 0, j = 0; i < numSamples; i++, j += stride )
^~~~~~
ALAC/codec/matrix_dec.c: In function ‘copyPredictorTo32Shift’:
ALAC/codec/matrix_dec.c:379:23: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
uint32_t shiftVal = bytesShifted * 8;
^~~~~~~~~~~~
ALAC/codec/matrix_dec.c:387:31: warning: conversion to ‘unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
op[0] = (in[j] << shiftVal) | (uint32_t) shift[j];
^
ALAC/codec/matrix_dec.c:387:11: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
op[0] = (in[j] << shiftVal) | (uint32_t) shift[j];
^
===> ALAC/codec/ag_enc.c
gcc -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include -nostdinc -g -O2 -m64 -mno-red-zone -fno-stack-protector -lssp -O2 -g -Wall -Wshadow -fno-stack-protector -Wconversion -std=c99 -c ALAC/codec/ag_enc.c -o ALAC/codec/ag_enc.o
In file included from ALAC/codec/ag_enc.c:32:
ALAC/codec/ALACAudioTypes.h:64:32: warning: multi-character character constant [-Wmultichar]
kALACFormatAppleLossless = 'alac',
^~~~~~
ALAC/codec/ALACAudioTypes.h:65:28: warning: multi-character character constant [-Wmultichar]
kALACFormatLinearPCM = 'lpcm'
^~~~~~
ALAC/codec/ALACAudioTypes.h:154:22: warning: multi-character character constant [-Wmultichar]
kALACCodecFormat = 'alac',
^~~~~~
ALAC/codec/ALACAudioTypes.h:182:26: warning: multi-character character constant [-Wmultichar]
AudioChannelLayoutAID = 'chan'
^~~~~~
In file included from ALAC/codec/ag_enc.c:35:
../../include/stdio.h: In function ‘__sputc’:
../../include/stdio.h:460:23: warning: conversion from ‘int’ to ‘unsigned char’ may change value [-Wconversion]
return (*_p->_p++ = _c);
^~
In file included from ../../include/string.h:2,
from ALAC/codec/ag_enc.c:37:
../../include/sys/types.h: In function ‘__bitcount16’:
../../include/sys/types.h:327:7: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
_x = (_x & 0x5555) + ((_x & 0xaaaa) >> 1);
^
../../include/sys/types.h:328:7: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
_x = (_x & 0x3333) + ((_x & 0xcccc) >> 2);
^
In file included from ../../include/sys/types.h:376,
from ../../include/string.h:2,
from ALAC/codec/ag_enc.c:37:
../../include/sys/select.h: At top level:
../../include/sys/select.h:105:54: warning: ‘struct timeval’ declared inside parameter list will not be visible outside of this definition or declaration
int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
^~~~~~~
In file included from ../../include/string.h:2,
from ALAC/codec/ag_enc.c:37:
../../include/sys/types.h: In function ‘__major’:
../../include/sys/types.h:393:36: warning: conversion from ‘dev_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
return (((_d >> 32) & 0xffffff00) | ((_d >> 8) & 0xff));
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
../../include/sys/types.h: In function ‘__minor’:
../../include/sys/types.h:399:32: warning: conversion from ‘dev_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
return (((_d >> 24) & 0xff00) | (_d & 0xffff00ff));
~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
../../include/sys/types.h: In function ‘__makedev’:
../../include/sys/types.h:405:26: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
return (((dev_t)(_Major & 0xffffff00) << 32) | ((_Major & 0xff) << 8) |
^
../../include/sys/types.h:405:47: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
return (((dev_t)(_Major & 0xffffff00) << 32) | ((_Major & 0xff) << 8) |
^
../../include/sys/types.h:406:49: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
((dev_t)(_Minor & 0xff00) << 24) | (_Minor & 0xffff00ff));
^
ALAC/codec/ag_enc.c: In function ‘lead’:
ALAC/codec/ag_enc.c:72:9: warning: conversion to ‘long unsigned int’ from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
if((c & m) != 0)
^
ALAC/codec/ag_enc.c:76:9: warning: conversion from ‘long int’ to ‘int32_t’ {aka ‘int’} may change value [-Wconversion]
return (j);
^
ALAC/codec/ag_enc.c: In function ‘dyn_code’:
ALAC/codec/ag_enc.c:123:8: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
div = n/m;
^
ALAC/codec/ag_enc.c:128:11: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
value = (((1<<MAX_PREFIX_16)-1)<<MAX_DATATYPE_BITS_16) + n;
^
ALAC/codec/ag_enc.c:132:9: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
mod = n%m;
^
ALAC/codec/ag_enc.c:134:17: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
numBits = div + k + 1 - de;
^
ALAC/codec/ag_enc.c:135:41: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
value = (((1<<div)-1)<<(numBits-div)) + mod + 1 - de;
^
ALAC/codec/ag_enc.c:141:15: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
value = (((1<<MAX_PREFIX_16)-1)<<MAX_DATATYPE_BITS_16) + n;
^
ALAC/codec/ag_enc.c: In function ‘dyn_code_32bit’:
ALAC/codec/ag_enc.c:166:41: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
value = (((1<<div)-1)<<(numBits-div)) + mod + 1 - de;
^
ALAC/codec/ag_enc.c:176:19: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
*overflowbits = maxbits;
^~~~~~~
ALAC/codec/ag_enc.c: In function ‘dyn_jam_noDeref_large’:
ALAC/codec/ag_enc.c:217:25: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
int32_t shiftvalue = (32 - (bitPos&7) - numBits);
^
ALAC/codec/ag_enc.c: In function ‘dyn_comp’:
ALAC/codec/ag_enc.c:264:27: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
int32_t rowSize = params->sw;
^~~~~~
ALAC/codec/ag_enc.c:265:40: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
int32_t rowJump = (params->fw) - rowSize;
^
ALAC/codec/ag_enc.c:265:27: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
int32_t rowJump = (params->fw) - rowSize;
^
ALAC/codec/ag_enc.c:287:18: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
k = lg3a(m);
^
ALAC/codec/ag_enc.c:287:13: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
k = lg3a(m);
^~~~
ALAC/codec/ag_enc.c:292:13: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
m = (1<<k)-1;
^
ALAC/codec/ag_enc.c:297:13: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
n = (abs_func(del) << 1) - ((del >> 31) & 1) - zmode;
^
ALAC/codec/ag_enc.c:320:22: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
mb = pb * (n + zmode) + mb - ((pb *mb)>>QBSHIFT);
^
ALAC/codec/ag_enc.c:354:22: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
k = lead(mb) - BITOFF+((mb+MOFF)>>MDENSHIFT);
^~
ALAC/codec/ag_enc.c:354:34: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
k = lead(mb) - BITOFF+((mb+MOFF)>>MDENSHIFT);
^
ALAC/codec/ag_enc.c:355:29: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
mz = ((1<<k)-1) & wb;
^
ALAC/codec/ag_enc.c:357:30: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
value = dyn_code(mz, k, nz, &numBits);
^~
ALAC/codec/ag_enc.c:357:34: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
value = dyn_code(mz, k, nz, &numBits);
^
ALAC/codec/ag_enc.c:357:37: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion]
value = dyn_code(mz, k, nz, &numBits);
^~
ALAC/codec/ag_enc.c:357:21: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
value = dyn_code(mz, k, nz, &numBits);
^~~~~~~~
===> ALAC/codec/matrix_enc.c
gcc -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include -nostdinc -g -O2 -m64 -mno-red-zone -fno-stack-protector -lssp -O2 -g -Wall -Wshadow -fno-stack-protector -Wconversion -std=c99 -c ALAC/codec/matrix_enc.c -o ALAC/codec/matrix_enc.o
In file included from ALAC/codec/matrix_enc.c:30:
ALAC/codec/ALACAudioTypes.h:64:32: warning: multi-character character constant [-Wmultichar]
kALACFormatAppleLossless = 'alac',
^~~~~~
ALAC/codec/ALACAudioTypes.h:65:28: warning: multi-character character constant [-Wmultichar]
kALACFormatLinearPCM = 'lpcm'
^~~~~~
ALAC/codec/ALACAudioTypes.h:154:22: warning: multi-character character constant [-Wmultichar]
kALACCodecFormat = 'alac',
^~~~~~
ALAC/codec/ALACAudioTypes.h:182:26: warning: multi-character character constant [-Wmultichar]
AudioChannelLayoutAID = 'chan'
^~~~~~
ALAC/codec/matrix_enc.c: In function ‘mix24’:
ALAC/codec/matrix_enc.c:149:19: warning: conversion from ‘long unsigned int’ to ‘uint32_t’ {aka ‘unsigned int’} may change value [-Wconversion]
uint32_t mask = (1ul << shift) - 1;
^
ALAC/codec/matrix_enc.c:170:35: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
shiftUV[k + 0] = (uint16_t)(l & mask);
^
ALAC/codec/matrix_enc.c:171:35: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
shiftUV[k + 1] = (uint16_t)(r & mask);
^
ALAC/codec/matrix_enc.c:212:35: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
shiftUV[k + 0] = (uint16_t)(l & mask);
^
ALAC/codec/matrix_enc.c:213:35: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
shiftUV[k + 1] = (uint16_t)(r & mask);
^
ALAC/codec/matrix_enc.c: In function ‘mix32’:
ALAC/codec/matrix_enc.c:248:19: warning: conversion from ‘long unsigned int’ to ‘uint32_t’ {aka ‘unsigned int’} may change value [-Wconversion]
uint32_t mask = (1ul << shift) - 1;
^
ALAC/codec/matrix_enc.c:267:34: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
shiftUV[k + 0] = (uint16_t)(l & mask);
^
ALAC/codec/matrix_enc.c:268:34: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
shiftUV[k + 1] = (uint16_t)(r & mask);
^
ALAC/codec/matrix_enc.c:298:35: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
shiftUV[k + 0] = (uint16_t)(l & mask);
^
ALAC/codec/matrix_enc.c:299:35: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion]
shiftUV[k + 1] = (uint16_t)(r & mask);
^
===> ALAC/codec/dp_enc.c
gcc -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include -nostdinc -g -O2 -m64 -mno-red-zone -fno-stack-protector -lssp -O2 -g -Wall -Wshadow -fno-stack-protector -Wconversion -std=c99 -c ALAC/codec/dp_enc.c -o ALAC/codec/dp_enc.o
In file included from ../../include/string.h:2,
from ALAC/codec/dp_enc.c:30:
../../include/sys/types.h: In function ‘__bitcount16’:
../../include/sys/types.h:327:7: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
_x = (_x & 0x5555) + ((_x & 0xaaaa) >> 1);
^
../../include/sys/types.h:328:7: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
_x = (_x & 0x3333) + ((_x & 0xcccc) >> 2);
^
In file included from ../../include/sys/types.h:376,
from ../../include/string.h:2,
from ALAC/codec/dp_enc.c:30:
../../include/sys/select.h: At top level:
../../include/sys/select.h:105:54: warning: ‘struct timeval’ declared inside parameter list will not be visible outside of this definition or declaration
int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
^~~~~~~
In file included from ../../include/string.h:2,
from ALAC/codec/dp_enc.c:30:
../../include/sys/types.h: In function ‘__major’:
../../include/sys/types.h:393:36: warning: conversion from ‘dev_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
return (((_d >> 32) & 0xffffff00) | ((_d >> 8) & 0xff));
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
../../include/sys/types.h: In function ‘__minor’:
../../include/sys/types.h:399:32: warning: conversion from ‘dev_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
return (((_d >> 24) & 0xff00) | (_d & 0xffff00ff));
~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
../../include/sys/types.h: In function ‘__makedev’:
../../include/sys/types.h:405:26: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
return (((dev_t)(_Major & 0xffffff00) << 32) | ((_Major & 0xff) << 8) |
^
../../include/sys/types.h:405:47: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
return (((dev_t)(_Major & 0xffffff00) << 32) | ((_Major & 0xff) << 8) |
^
../../include/sys/types.h:406:49: warning: conversion to ‘unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
((dev_t)(_Minor & 0xff00) << 24) | (_Minor & 0xffff00ff));
^
ALAC/codec/dp_enc.c: In function ‘init_coefs’:
ALAC/codec/dp_enc.c:51:13: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
coefs[0] = (AINIT * den) >> 4;
^
ALAC/codec/dp_enc.c:52:13: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
coefs[1] = (BINIT * den) >> 4;
^
ALAC/codec/dp_enc.c:53:13: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
coefs[2] = (CINIT * den) >> 4;
^
ALAC/codec/dp_enc.c: In function ‘sign_of_int’:
ALAC/codec/dp_enc.c:70:17: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘unsigned int’ may change the sign of the result [-Wsign-conversion]
negishift = ((uint32_t)-i) >> 31;
^
ALAC/codec/dp_enc.c: In function ‘pc_block’:
ALAC/codec/dp_enc.c:92:4: warning: implicit declaration of function ‘memcpy’ [-Wimplicit-function-declaration]
memcpy( &pc1[1], &in[1], (num - 1) * sizeof(int32_t) );
^~~~~~
ALAC/codec/dp_enc.c:92:4: warning: incompatible implicit declaration of built-in function ‘memcpy’
ALAC/codec/dp_enc.c:92:4: note: include ‘<string.h>’ or provide a declaration of ‘memcpy’
ALAC/codec/dp_enc.c:31:1:
+#include <string.h>
ALAC/codec/dp_enc.c:92:4:
memcpy( &pc1[1], &in[1], (num - 1) * sizeof(int32_t) );
^~~~~~
ALAC/codec/dp_enc.c:92:39: warning: conversion to ‘long unsigned int’ from ‘int’ may change the sign of the result [-Wsign-conversion]
memcpy( &pc1[1], &in[1], (num - 1) * sizeof(int32_t) );
^
ALAC/codec/dp_enc.c:145:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a3 -= sgn;
^~~
ALAC/codec/dp_enc.c:151:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a2 -= sgn;
^~~
ALAC/codec/dp_enc.c:157:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a1 -= sgn;
^~~
ALAC/codec/dp_enc.c:162:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a0 -= sign_of_int( b0 );
^~~~~~~~~~~
ALAC/codec/dp_enc.c:168:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a3 -= sgn;
^~~
ALAC/codec/dp_enc.c:174:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a2 -= sgn;
^~~
ALAC/codec/dp_enc.c:180:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a1 -= sgn;
^~~
ALAC/codec/dp_enc.c:185:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a0 += sign_of_int( b0 );
^~~~~~~~~~~
ALAC/codec/dp_enc.c:238:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a7 -= sgn;
^~~
ALAC/codec/dp_enc.c:244:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a6 -= sgn;
^~~
ALAC/codec/dp_enc.c:250:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a5 -= sgn;
^~~
ALAC/codec/dp_enc.c:256:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a4 -= sgn;
^~~
ALAC/codec/dp_enc.c:262:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a3 -= sgn;
^~~
ALAC/codec/dp_enc.c:268:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a2 -= sgn;
^~~
ALAC/codec/dp_enc.c:274:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a1 -= sgn;
^~~
ALAC/codec/dp_enc.c:279:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a0 -= sign_of_int( b0 );
^~~~~~~~~~~
ALAC/codec/dp_enc.c:285:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a7 -= sgn;
^~~
ALAC/codec/dp_enc.c:291:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a6 -= sgn;
^~~
ALAC/codec/dp_enc.c:297:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a5 -= sgn;
^~~
ALAC/codec/dp_enc.c:303:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a4 -= sgn;
^~~
ALAC/codec/dp_enc.c:309:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a3 -= sgn;
^~~
ALAC/codec/dp_enc.c:315:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a2 -= sgn;
^~~
ALAC/codec/dp_enc.c:321:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a1 -= sgn;
^~~
ALAC/codec/dp_enc.c:326:11: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
a0 += sign_of_int( b0 );
^~~~~~~~~~~
ALAC/codec/dp_enc.c:366:18: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
coefs[k] -= sgn;
^~~
ALAC/codec/dp_enc.c:378:18: warning: conversion from ‘int32_t’ {aka ‘int’} to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
coefs[k] += sgn;
^~~
===> Linking ./syslaunch
ld -e_start -N -L../../lib -L/usr/lib/gcc/x86_64-linux-gnu/8 -nostdlib -melf_x86_64 -Ttext=01000000 crt0-amd64.o syslaunch.o ALAC/codec/ag_dec.o ALAC/codec/dp_dec.o ALAC/codec/EndianPortable.o ALAC/codec/ALACBitUtilities.o ALAC/codec/matrix_dec.o ALAC/codec/ag_enc.o ALAC/codec/matrix_enc.o ALAC/codec/dp_enc.o -ll4 -lio -llinux -lgcc -o syslaunch
tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/user/apps/system$
However, the C++ source (which requires renaming the file suffixes from .cpp
, to .cc
, to be recognised by the toolchain) had some issues, when I last tried to build it.
ALAC gets to :
tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/user/apps/system$ make
===> ALAC/codec/ALACDecoder.cc
gcc -x c++ -I../../include -I../.. -I/usr/lib/gcc/x86_64-linux-gnu/8/include -nostdinc -g -O2 -m64 -mno-red-zone -fno-stack-protector -lssp -O2 -g -Wall -Wshadow -fno-stack-protector -Wconversion -fno-exceptions -c ALAC/codec/ALACDecoder.cc -o ALAC/codec/ALACDecoder.o
In file included from ALAC/codec/ALACDecoder.h:34,
from ALAC/codec/ALACDecoder.cc:28:
ALAC/codec/ALACAudioTypes.h:64:32: warning: multi-character character constant [-Wmultichar]
kALACFormatAppleLossless = 'alac',
^~~~~~
ALAC/codec/ALACAudioTypes.h:65:28: warning: multi-character character constant [-Wmultichar]
kALACFormatLinearPCM = 'lpcm'
^~~~~~
ALAC/codec/ALACAudioTypes.h:154:22: warning: multi-character character constant [-Wmultichar]
kALACCodecFormat = 'alac',
^~~~~~
ALAC/codec/ALACAudioTypes.h:182:26: warning: multi-character character constant [-Wmultichar]
AudioChannelLayoutAID = 'chan'
^~~~~~
In file included from ../../include/string.h:2,
from ALAC/codec/ALACDecoder.cc:26:
../../include/sys/types.h: In function ‘__uint16_t __bitcount16(__uint16_t)’:
../../include/sys/types.h:327:21: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
_x = (_x & 0x5555) + ((_x & 0xaaaa) >> 1);
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
../../include/sys/types.h:328:21: warning: conversion from ‘int’ to ‘__uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
_x = (_x & 0x3333) + ((_x & 0xcccc) >> 2);
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
In file included from ../../include/string.h:2,
from ALAC/codec/ALACDecoder.cc:26:
../../include/sys/types.h: In function ‘int __major(dev_t)’:
../../include/sys/types.h:393:36: warning: conversion from ‘dev_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
return (((_d >> 32) & 0xffffff00) | ((_d >> 8) & 0xff));
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
../../include/sys/types.h: In function ‘int __minor(dev_t)’:
../../include/sys/types.h:399:32: warning: conversion from ‘dev_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Wconversion]
return (((_d >> 24) & 0xff00) | (_d & 0xffff00ff));
~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from ALAC/codec/ALACDecoder.cc:34:
ALAC/codec/ALACDecoder.cc: In constructor ‘ALACDecoder::ALACDecoder()’:
ALAC/codec/ALACBitUtilities.h:40:13: error: ‘NULL’ was not declared in this scope
#define nil NULL
^~~~
ALAC/codec/ALACDecoder.cc:50:15: note: in expansion of macro ‘nil’
mMixBufferU( nil ),
^~~
ALAC/codec/ALACBitUtilities.h:40:13: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
#define nil NULL
^~~~
ALAC/codec/ALACDecoder.cc:50:15: note: in expansion of macro ‘nil’
mMixBufferU( nil ),
^~~
ALAC/codec/ALACDecoder.cc: In destructor ‘ALACDecoder::~ALACDecoder()’:
ALAC/codec/ALACDecoder.cc:66:3: error: ‘free’ was not declared in this scope
free(mMixBufferU);
^~~~
ALAC/codec/ALACDecoder.cc:66:3: note: ‘free’ is defined in header ‘<cstdlib>’; did you forget to ‘#include <cstdlib>’?
ALAC/codec/ALACDecoder.cc:36:1:
+#include <cstdlib>
ALAC/codec/ALACDecoder.cc:66:3:
free(mMixBufferU);
^~~~
ALAC/codec/ALACDecoder.cc:67:23: error: ‘NULL’ was not declared in this scope
mMixBufferU = NULL;
^~~~
ALAC/codec/ALACDecoder.cc:67:23: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
ALAC/codec/ALACDecoder.cc:71:3: error: ‘free’ was not declared in this scope
free(mMixBufferV);
^~~~
ALAC/codec/ALACDecoder.cc:71:3: note: ‘free’ is defined in header ‘<cstdlib>’; did you forget to ‘#include <cstdlib>’?
ALAC/codec/ALACDecoder.cc:72:23: error: ‘NULL’ was not declared in this scope
mMixBufferV = NULL;
^~~~
ALAC/codec/ALACDecoder.cc:72:23: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
ALAC/codec/ALACDecoder.cc:79:3: error: ‘free’ was not declared in this scope
free(mPredictor);
^~~~
ALAC/codec/ALACDecoder.cc:79:3: note: ‘free’ is defined in header ‘<cstdlib>’; did you forget to ‘#include <cstdlib>’?
ALAC/codec/ALACDecoder.cc:80:22: error: ‘NULL’ was not declared in this scope
mPredictor = NULL;
^~~~
ALAC/codec/ALACDecoder.cc:80:22: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
ALAC/codec/ALACDecoder.cc: In member function ‘int32_t ALACDecoder::Init(void*, uint32_t)’:
ALAC/codec/ALACDecoder.cc:135:35: error: ‘calloc’ was not declared in this scope
mMixBufferU = (int32_t *) calloc( mConfig.frameLength * sizeof(int32_t), 1 );
^~~~~~
ALAC/codec/ALACDecoder.cc:135:35: note: suggested alternative: ‘pc_block’
mMixBufferU = (int32_t *) calloc( mConfig.frameLength * sizeof(int32_t), 1 );
^~~~~~
pc_block
In file included from ALAC/codec/ALACDecoder.cc:34:
ALAC/codec/ALACBitUtilities.h:40:13: error: ‘NULL’ was not declared in this scope
#define nil NULL
^~~~
ALAC/codec/ALACBitUtilities.h:43:50: note: in definition of macro ‘RequireAction’
#define RequireAction(condition, action) if (!(condition)) { action }
^~~~~~~~~
ALAC/codec/ALACDecoder.cc:144:40: note: in expansion of macro ‘nil’
RequireAction( (mMixBufferU != nil) && (mMixBufferV != nil) && (mPredictor != nil),
^~~
ALAC/codec/ALACBitUtilities.h:40:13: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
#define nil NULL
^~~~
ALAC/codec/ALACBitUtilities.h:43:50: note: in definition of macro ‘RequireAction’
#define RequireAction(condition, action) if (!(condition)) { action }
^~~~~~~~~
ALAC/codec/ALACDecoder.cc:144:40: note: in expansion of macro ‘nil’
RequireAction( (mMixBufferU != nil) && (mMixBufferV != nil) && (mPredictor != nil),
^~~
ALAC/codec/ALACDecoder.cc: In member function ‘int32_t ALACDecoder::Decode(BitBuffer*, uint8_t*, uint32_t, uint32_t, uint32_t*)’:
ALAC/codec/ALACBitUtilities.h:40:13: error: ‘NULL’ was not declared in this scope
#define nil NULL
^~~~
ALAC/codec/ALACBitUtilities.h:43:50: note: in definition of macro ‘RequireAction’
#define RequireAction(condition, action) if (!(condition)) { action }
^~~~~~~~~
ALAC/codec/ALACDecoder.cc:201:26: note: in expansion of macro ‘nil’
RequireAction( (bits != nil) && (sampleBuffer != nil) && (outNumSamples != nil), return kALAC_ParamError; );
^~~
ALAC/codec/ALACBitUtilities.h:40:13: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
#define nil NULL
^~~~
ALAC/codec/ALACBitUtilities.h:43:50: note: in definition of macro ‘RequireAction’
#define RequireAction(condition, action) if (!(condition)) { action }
^~~~~~~~~
ALAC/codec/ALACDecoder.cc:201:26: note: in expansion of macro ‘nil’
RequireAction( (bits != nil) && (sampleBuffer != nil) && (outNumSamples != nil), return kALAC_ParamError; );
^~~
ALAC/codec/ALACDecoder.cc:229:21: warning: conversion from ‘unsigned int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
mActiveElements |= (1u << elementInstanceTag);
~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ALAC/codec/ALACDecoder.cc:238:31: warning: conversion from ‘int’ to ‘uint8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
partialFrame = headerByte >> 3;
~~~~~~~~~~~^~~~
ALAC/codec/ALACDecoder.cc:264:26: warning: conversion from ‘int’ to ‘uint8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
modeU = headerByte >> 4;
~~~~~~~~~~~^~~~
ALAC/codec/ALACDecoder.cc:268:29: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
pbFactorU = headerByte >> 5;
~~~~~~~~~~~^~~~
In file included from ALAC/codec/ALACDecoder.cc:34:
ALAC/codec/ALACBitUtilities.h:40:13: error: ‘NULL’ was not declared in this scope
#define nil NULL
^~~~
ALAC/codec/ALACDecoder.cc:293:55: note: in expansion of macro ‘nil’
unpc_block( mPredictor, mPredictor, numSamples, nil, 31, chanBits, 0 );
^~~
ALAC/codec/ALACBitUtilities.h:40:13: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
#define nil NULL
^~~~
ALAC/codec/ALACDecoder.cc:293:55: note: in expansion of macro ‘nil’
unpc_block( mPredictor, mPredictor, numSamples, nil, 31, chanBits, 0 );
^~~
ALAC/codec/ALACDecoder.cc:380:21: warning: conversion from ‘unsigned int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
mActiveElements |= (1u << elementInstanceTag);
~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ALAC/codec/ALACDecoder.cc:389:31: warning: conversion from ‘int’ to ‘uint8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
partialFrame = headerByte >> 3;
~~~~~~~~~~~^~~~
ALAC/codec/ALACDecoder.cc:414:26: warning: conversion from ‘int’ to ‘uint8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
modeU = headerByte >> 4;
~~~~~~~~~~~^~~~
ALAC/codec/ALACDecoder.cc:418:29: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
pbFactorU = headerByte >> 5;
~~~~~~~~~~~^~~~
ALAC/codec/ALACDecoder.cc:424:26: warning: conversion from ‘int’ to ‘uint8_t’ {aka ‘unsigned char’} may change value [-Wconversion]
modeV = headerByte >> 4;
~~~~~~~~~~~^~~~
ALAC/codec/ALACDecoder.cc:428:29: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
pbFactorV = headerByte >> 5;
~~~~~~~~~~~^~~~
In file included from ALAC/codec/ALACDecoder.cc:34:
ALAC/codec/ALACBitUtilities.h:40:13: error: ‘NULL’ was not declared in this scope
#define nil NULL
^~~~
ALAC/codec/ALACDecoder.cc:452:55: note: in expansion of macro ‘nil’
unpc_block( mPredictor, mPredictor, numSamples, nil, 31, chanBits, 0 );
^~~
ALAC/codec/ALACBitUtilities.h:40:13: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
#define nil NULL
^~~~
ALAC/codec/ALACDecoder.cc:452:55: note: in expansion of macro ‘nil’
unpc_block( mPredictor, mPredictor, numSamples, nil, 31, chanBits, 0 );
^~~
ALAC/codec/ALACBitUtilities.h:40:13: error: ‘NULL’ was not declared in this scope
#define nil NULL
^~~~
ALAC/codec/ALACDecoder.cc:468:55: note: in expansion of macro ‘nil’
unpc_block( mPredictor, mPredictor, numSamples, nil, 31, chanBits, 0 );
^~~
ALAC/codec/ALACBitUtilities.h:40:13: note: ‘NULL’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
#define nil NULL
^~~~
ALAC/codec/ALACDecoder.cc:468:55: note: in expansion of macro ‘nil’
unpc_block( mPredictor, mPredictor, numSamples, nil, 31, chanBits, 0 );
^~~
ALAC/codec/ALACDecoder.cc: In member function ‘int32_t ALACDecoder::FillElement(BitBuffer*)’:
ALAC/codec/ALACDecoder.cc:644:54: warning: conversion from ‘int’ to ‘int16_t’ {aka ‘short int’} may change value [-Wconversion]
count += (int16_t) BitBufferReadSmall( bits, 8 ) - 1;
^
ALAC/codec/ALACDecoder.cc: In member function ‘int32_t ALACDecoder::DataStreamElement(BitBuffer*)’:
ALAC/codec/ALACDecoder.cc:671:40: warning: conversion from ‘int’ to ‘uint16_t’ {aka ‘short unsigned int’} may change value [-Wconversion]
count += BitBufferReadSmall( bits, 8 );
^
make: *** [../../Mk/l4.build.mk:58: ALAC/codec/ALACDecoder.o] Error 1
tyson@tyson-Lenovo-ideapad-120S-14IAP:~/Orion/user/apps/system$
Imported strchr.c, and strncmp.c from OpenMach
To help firm up the compatibility of JUEL, for multimedia applications, it may be interesting to port Apple's ALAC, and ValidateMP4 projects to Orion.
This enhancement is just to track the expansion of our UNIX/POSIX API surface, and doesn't necessarily block the progress of #7.
So far, these projects don't fully-build, since we still lack some functionality in liblinux, but we now have
atoi()
, and some new headers (e.g.cstring
, andxlocale/*
), which should improve compatibility, in other areas: