I *think* the relevant C code is non-compliant. C99 6.7.5.2(4) "If the size is not present, the array type is an incomplete type"; 6.7.5.3(12) "If the function declarator is not part of a definition of that function, parameters may have incomplete type". That would seem to imply that in the situation where the declarator is part of a definition of the function, as in this case, parameters may not have incomplete type, although oddly I can't find an explicit statement of that. Perhaps a more awake C standards pedant could find one? :-)
The attached patch can be added to the top of the patch stack of libvpx 1.4.0-4 and avoids this construction. It at least compiles on the armhf porter box; I haven't tried doing anything with it at run-time. I assume that a similar change can be applied to oxide-qt, though I also haven't tried that. ** Patch added: "incomplete-array-parameters.patch" https://bugs.launchpad.net/ubuntu/+source/libvpx/+bug/1528297/+attachment/4538684/+files/incomplete-array-parameters.patch ** Tags added: patch -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to libvpx in Ubuntu. https://bugs.launchpad.net/bugs/1528297 Title: libvpx FTBFS with gcc 5.3 on armhf Status in gcc-5 package in Ubuntu: New Status in libvpx package in Ubuntu: New Status in oxide-qt package in Ubuntu: New Bug description: (originally reported as bug #1527741) Trying to build libvpx from source in an up-to-date xenial arhmf environment, with gcc 5.3.1, fails with the following error: gcc -marm -Wall -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -march=armv6 -DNDEBUG -O2 -fPIC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Wdeclaration-after-statement -Wdisabled-optimization -Wpointer-arith -Wtype-limits -Wcast-qual -Wvla -Wimplicit-function-declaration -Wuninitialized -Wunused-variable -Wunused-but-set-variable -Wno-unused-function -I. -I"/tmp/libvpx-1.4.0" -c -o vp8/common/treecoder.c.o /tmp/libvpx-1.4.0/vp8/common/treecoder.c /tmp/libvpx-1.4.0/vp8/common/treecoder.c: In function 'tree2tok': /tmp/libvpx-1.4.0/vp8/common/treecoder.c:32:9: error: invalid use of array with unspecified bounds const vp8_tree_index j = t[i++]; ^ /tmp/libvpx-1.4.0/vp8/common/treecoder.c:32:34: warning: initialization makes integer from pointer without a cast [-Wint-conversion] const vp8_tree_index j = t[i++]; ^ /tmp/libvpx-1.4.0/vp8/common/treecoder.c: In function 'branch_counts': /tmp/libvpx-1.4.0/vp8/common/treecoder.c:96:13: error: invalid use of array with unspecified bounds i = tree[ i + b]; ^ /tmp/libvpx-1.4.0/vp8/common/treecoder.c:96:15: warning: assignment makes integer from pointer without a cast [-Wint-conversion] i = tree[ i + b]; ^ Makefile:148: recipe for target 'vp8/common/treecoder.c.o' failed I’m attaching a full build log. This is reproducible both on a porter box and in a armhf chroot. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/gcc-5/+bug/1528297/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp

