Joe,

Since commit 294f69e662d1("compiler_attributes.h: Add 'fallthrough' pseudo keyword for switch/case use"), builds of VirtualBox are failing with the following errors:

1954s] In file included from /usr/src/linux-5.4.0-rc3-1.g2309d7d/include/linux/compiler_types.h:59,
[ 1954s]                  from <command-line>:
[ 1954s] /home/abuild/rpmbuild/BUILD/VirtualBox-6.0.12/modules_build_dir/default/vboxdrv/SUPDrvGip.c: In function 'supdrvTscDeltaThread': [ 1954s] /usr/src/linux-5.4.0-rc3-1.g2309d7d/include/linux/compiler_attributes.h:200:41: error: expected ')' before '__attribute__' [ 1954s] 200 | # define fallthrough __attribute__((__fallthrough__))
[ 1954s]       |                                         ^~~~~~~~~~~~~
[ 1954s] /home/abuild/rpmbuild/BUILD/VirtualBox-6.0.12/modules_build_dir/default/vboxdrv/include/iprt/cdefs.h:1169:44: note: in expansion of macro 'fallthrough'
[ 1954s]  1169 | # define FALL_THROUGH      __attribute__ ((fallthrough))
[ 1954s]       |                                            ^~~~~~~~~~~
[ 1954s] /home/abuild/rpmbuild/BUILD/VirtualBox-6.0.12/modules_build_dir/default/vboxdrv/include/iprt/cdefs.h:1176:33: note: in expansion of macro 'FALL_THROUGH'
[ 1954s]  1176 | #define RT_FALL_THRU()          FALL_THROUGH
[ 1954s]       |                                 ^~~~~~~~~~~~
[ 1954s] /home/abuild/rpmbuild/BUILD/VirtualBox-6.0.12/modules_build_dir/default/vboxdrv/SUPDrvGip.c:4192:17: note: in expansion of macro 'RT_FALL_THRU'
[ 1954s]  4192 |                 RT_FALL_THRU();
[ 1954s]       |                 ^~~~~~~~~~~~
[ 1954s] In file included from /home/abuild/rpmbuild/BUILD/VirtualBox-6.0.12/modules_build_dir/default/vboxdrv/include/VBox/cdefs.h:32, [ 1954s] from /home/abuild/rpmbuild/BUILD/VirtualBox-6.0.12/modules_build_dir/default/vboxdrv/SUPDrvInternal.h:37, [ 1954s] from /home/abuild/rpmbuild/BUILD/VirtualBox-6.0.12/modules_build_dir/default/vboxdrv/SUPDrvGip.c:33: [ 1954s] /home/abuild/rpmbuild/BUILD/VirtualBox-6.0.12/modules_build_dir/default/vboxdrv/include/iprt/cdefs.h:1169:56: error: expected identifier or '(' before ')' token
[ 1954s]  1169 | # define FALL_THROUGH      __attribute__ ((fallthrough))
[ 1954s]       |                                                        ^
[ 1954s] /home/abuild/rpmbuild/BUILD/VirtualBox-6.0.12/modules_build_dir/default/vboxdrv/include/iprt/cdefs.h:1176:33: note: in expansion of macro 'FALL_THROUGH'
[ 1954s]  1176 | #define RT_FALL_THRU()          FALL_THROUGH
[ 1954s]       |                                 ^~~~~~~~~~~~

I think the internal macros in the Oracle code are correct - at least they worked before the patch in question was applied.

I would appreciate any suggestions.

Thanks,

Larry

Reply via email to