/* 131 kamil@rugged /tmp $ gcc -O0 memcpy.c 132 kamil@rugged /tmp $ ./a.out 1 133 kamil@rugged /tmp $ gcc -O2 memcpy.c 134 kamil@rugged /tmp $ ./a.out 0 135 kamil@rugged /tmp $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/lto-wrapper Target: x86_64--netbsd Configured with: /usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=x86_64--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/support/send-pr.html --with-pkgversion='NetBSD nb1 20190930' --with-system-zlib --without-isl --enable-__cxa_atexit --enable-libstdcxx-time=rt --enable-libstdcxx-threads --with-diagnostics-color=auto-if-env --with-tune=nocona --with-default-libstdcxx-abi=new --with-mpc-lib=/var/obj/mknative/amd64-x86_64/usr/src/external/lgpl3/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/amd64-x86_64/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/amd64-x86_64/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl3/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist/src --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/x86_64 --enable-tls --disable-multilib --disable-libstdcxx-pch --build=x86_64--netbsd --host=x86_64--netbsd --with-sysroot=/var/obj/mknative/amd64-x86_64/usr/src/destdir.amd64 Thread model: posix gcc version 8.3.0 (nb1 20190930) 136 kamil@rugged /tmp $ uname -a NetBSD rugged 9.99.46 NetBSD 9.99.46 (GENERIC) #2: Wed Feb 12 11:41:14 CET 2020 root@chieftec:/public/netbsd-root/sys/arch/amd64/compile/GENERIC amd64 */ #include #include #include int statu(void *a, void *b, size_t len) { memcpy(a, b, len); return a == NULL; } int main(int argc, char **argv) { char *ptr = (char *)(long)(argc - 1); printf("%d\n", statu(ptr, argv, argc - 1)); return 0; }