So says the compiler:
>
> ../../platforms/unix/plugins/FileCopyPlugin/sqUnixFileCopyPlugin.c:94:61: warning: result of comparison of constant 0 with boolean expression is always true [-Wtautological-constant-compare]
> if (( (read(in, mem, stat.st_size) != stat.st_size) >= 0)
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~
> ../../platforms/unix/plugins/FileCopyPlugin/sqUnixFileCopyPlugin.c:95:56: warning: result of comparison of constant 0 with boolean expression is always true [-Wtautological-constant-compare]
> && (write(out, mem, stat.st_size) != stat.st_size) >= 0)
The compiler is right, this makes not much sense:
if (( (read(in, mem, stat.st_size) != stat.st_size) >= 0)
&& (write(out, mem, stat.st_size) != stat.st_size) >= 0)
Also, the `copy` function may leave open file descriptors in case of failure, so it badly need some attention.
https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/platforms/unix/p…
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/442
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: cde6a60d0e055e689c3dc8f7347ed775ba8eaa92
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/cde6a60d0e055e689c…
Author: Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com>
Date: 2019-11-01 (Fri, 01 Nov 2019)
Changed paths:
M build.linux32ARMv6/newspeak.cog.spur/build.assert/mvm
M build.linux32ARMv6/newspeak.cog.spur/build.debug/mvm
M build.linux32ARMv6/newspeak.cog.spur/build/mvm
M build.linux32ARMv6/newspeak.stack.spur/build.assert/mvm
M build.linux32ARMv6/newspeak.stack.spur/build.debug/mvm
M build.linux32ARMv6/newspeak.stack.spur/build/mvm
M build.linux32ARMv6/pharo.cog.spur/build.assert/mvm
M build.linux32ARMv6/pharo.cog.spur/build.debug/mvm
M build.linux32ARMv6/pharo.cog.spur/build/mvm
M build.linux32ARMv6/squeak.cog.spur/build.assert/mvm
M build.linux32ARMv6/squeak.cog.spur/build.debug/mvm
M build.linux32ARMv6/squeak.cog.spur/build/mvm
M build.linux32ARMv6/squeak.stack.spur/build.assert/mvm
M build.linux32ARMv6/squeak.stack.spur/build.debug/mvm
M build.linux32ARMv6/squeak.stack.spur/build/mvm
M build.linux32ARMv6/squeak.stack.v3/build.assert/mvm
M build.linux32ARMv6/squeak.stack.v3/build.debug/mvm
M build.linux32ARMv6/squeak.stack.v3/build/mvm
M build.linux32ARMv7/newspeak.cog.spur/build.assert/mvm
M build.linux32ARMv7/newspeak.cog.spur/build.debug/mvm
M build.linux32ARMv7/newspeak.cog.spur/build/mvm
M build.linux32ARMv7/newspeak.stack.spur/build.assert/mvm
M build.linux32ARMv7/newspeak.stack.spur/build.debug/mvm
M build.linux32ARMv7/newspeak.stack.spur/build/mvm
M build.linux32x86/newspeak.cog.spur/build.assert.itimerheartbeat/mvm
M build.linux32x86/newspeak.cog.spur/build.assert/mvm
M build.linux32x86/newspeak.cog.spur/build.debug.itimerheartbeat/mvm
M build.linux32x86/newspeak.cog.spur/build.debug/mvm
M build.linux32x86/newspeak.cog.spur/build.itimerheartbeat/mvm
M build.linux32x86/newspeak.cog.spur/build/mvm
M build.linux32x86/newspeak.stack.spur/build.assert/mvm
M build.linux32x86/newspeak.stack.spur/build.debug/mvm
M build.linux32x86/newspeak.stack.spur/build/mvm
M build.linux32x86/nsnac.cog.spur/build.assert.itimerheartbeat/mvm
M build.linux32x86/nsnac.cog.spur/build.assert/mvm
M build.linux32x86/nsnac.cog.spur/build.debug.itimerheartbeat/mvm
M build.linux32x86/nsnac.cog.spur/build.debug/mvm
M build.linux32x86/nsnac.cog.spur/build.itimerheartbeat/mvm
M build.linux32x86/nsnac.cog.spur/build/mvm
M build.linux32x86/pharo.cog.spur.lowcode/build.assert.itimerheartbeat/mvm
M build.linux32x86/pharo.cog.spur.lowcode/build.assert/mvm
M build.linux32x86/pharo.cog.spur.lowcode/build.debug.itimerheartbeat/mvm
M build.linux32x86/pharo.cog.spur.lowcode/build.debug/mvm
M build.linux32x86/pharo.cog.spur.lowcode/build.itimerheartbeat/mvm
M build.linux32x86/pharo.cog.spur.lowcode/build/mvm
M build.linux32x86/pharo.cog.spur.minheadless/build.assert.itimerheartbeat/mvm
M build.linux32x86/pharo.cog.spur.minheadless/build.debug.itimerheartbeat/mvm
M build.linux32x86/pharo.cog.spur.minheadless/build.itimerheartbeat/mvm
M build.linux32x86/pharo.cog.spur/build.assert.itimerheartbeat/mvm
M build.linux32x86/pharo.cog.spur/build.assert/mvm
M build.linux32x86/pharo.cog.spur/build.debug.itimerheartbeat/mvm
M build.linux32x86/pharo.cog.spur/build.debug/mvm
M build.linux32x86/pharo.cog.spur/build.itimerheartbeat/mvm
M build.linux32x86/pharo.cog.spur/build/mvm
M build.linux32x86/pharo.sista.spur/build.assert.itimerheartbeat/mvm
M build.linux32x86/pharo.sista.spur/build.assert/mvm
M build.linux32x86/pharo.sista.spur/build.debug.itimerheartbeat/mvm
M build.linux32x86/pharo.sista.spur/build.debug/mvm
M build.linux32x86/pharo.sista.spur/build.itimerheartbeat/mvm
M build.linux32x86/pharo.sista.spur/build/mvm
M build.linux32x86/pharo.stack.spur.lowcode/build.assert.itimerheartbeat/mvm
M build.linux32x86/pharo.stack.spur.lowcode/build.assert/mvm
M build.linux32x86/pharo.stack.spur.lowcode/build.debug.itimerheartbeat/mvm
M build.linux32x86/pharo.stack.spur.lowcode/build.debug/mvm
M build.linux32x86/pharo.stack.spur.lowcode/build.itimerheartbeat/mvm
M build.linux32x86/pharo.stack.spur.lowcode/build/mvm
M build.linux32x86/squeak.cog.spur.immutability/build.assert/mvm
M build.linux32x86/squeak.cog.spur.immutability/build.debug/mvm
M build.linux32x86/squeak.cog.spur.immutability/build/mvm
M build.linux32x86/squeak.cog.spur/build.assert.itimerheartbeat/mvm
M build.linux32x86/squeak.cog.spur/build.assert/mvm
M build.linux32x86/squeak.cog.spur/build.debug.itimerheartbeat/mvm
M build.linux32x86/squeak.cog.spur/build.debug/mvm
M build.linux32x86/squeak.cog.spur/build.itimerheartbeat/mvm
M build.linux32x86/squeak.cog.spur/build/mvm
M build.linux32x86/squeak.cog.v3/build.assert.itimerheartbeat/mvm
M build.linux32x86/squeak.cog.v3/build.assert/mvm
M build.linux32x86/squeak.cog.v3/build.debug.itimerheartbeat/mvm
M build.linux32x86/squeak.cog.v3/build.debug/mvm
M build.linux32x86/squeak.cog.v3/build.itimerheartbeat/mvm
M build.linux32x86/squeak.cog.v3/build.multithreaded.assert/mvm
M build.linux32x86/squeak.cog.v3/build.multithreaded.debug/mvm
M build.linux32x86/squeak.cog.v3/build.multithreaded/mvm
M build.linux32x86/squeak.cog.v3/build/mvm
M build.linux32x86/squeak.sista.spur/build.assert.itimerheartbeat/mvm
M build.linux32x86/squeak.sista.spur/build.assert/mvm
M build.linux32x86/squeak.sista.spur/build.debug.itimerheartbeat/mvm
M build.linux32x86/squeak.sista.spur/build.debug/mvm
M build.linux32x86/squeak.sista.spur/build.itimerheartbeat/mvm
M build.linux32x86/squeak.sista.spur/build/mvm
M build.linux32x86/squeak.stack.spur/build.assert/mvm
M build.linux32x86/squeak.stack.spur/build.debug/mvm
M build.linux32x86/squeak.stack.spur/build/mvm
M build.linux32x86/squeak.stack.v3/build.assert/mvm
M build.linux32x86/squeak.stack.v3/build.debug/mvm
M build.linux32x86/squeak.stack.v3/build/mvm
M build.linux64ARMv8/pharo.cog.spur/build/mvm
M build.linux64ARMv8/pharo.stack.spur/build.debug/mvm
M build.linux64ARMv8/pharo.stack.spur/build/mvm
M build.linux64ARMv8/squeak.stack.spur/build.assert/mvm
M build.linux64ARMv8/squeak.stack.spur/build.debug/mvm
M build.linux64ARMv8/squeak.stack.spur/build/mvm
Log Message:
-----------
Remove the -fwrapv option from all linux builds
Commit: f6bed1e26fb7c4f57f8682a0459d66ad443b5590
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f6bed1e26fb7c4f57f…
Author: Nicolas Cellier <nicolas.cellier.aka.nice(a)gmail.com>
Date: 2019-11-01 (Fri, 01 Nov 2019)
Changed paths:
M build.macos32x86/common/Makefile.flags
M build.macos64x64/common/Makefile.flags
Log Message:
-----------
Remove -fwrapv option from mac builds too
Compare: https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/f1903e5c871d...f6…