On Sun, Jul 24, 2022 at 11:20 AM Joel Sherrill <j...@rtems.org> wrote:
> Hi > > Attached is a pretty simple RTEMS application that does not compile when > -std=c99 is included on the compile line. > > arm-rtems6-gcc -B > /home/joel/rtems-work/tools/6/bsp-install/arm-rtems6/xilinx_zynq_a9_qemu/lib/ > -qrtems -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mtune=cortex-a9 > -O0 -g -ffunction-sections -fdata-sections -g -Wall -std=c99 -pthread > -Wno-nonnull-compare -c /tmp/rtems_config.c -o /tmp/rtems_config.o > In file included from > /home/joel/rtems-work/tools/6/bsp-install/arm-rtems6/xilinx_zynq_a9_qemu/lib/include/rtems/confdefs/libio.h:135, > from > /home/joel/rtems-work/tools/6/bsp-install/arm-rtems6/xilinx_zynq_a9_qemu/lib/include/rtems/confdefs.h:70, > from /tmp/rtems_config.c:21: > /home/joel/rtems-work/tools/6/bsp-install/arm-rtems6/xilinx_zynq_a9_qemu/lib/include/rtems/imfs.h: > In function '_IMFS_get_time': > /home/joel/rtems-work/tools/6/bsp-install/arm-rtems6/xilinx_zynq_a9_qemu/lib/include/rtems/imfs.h:377:18: > error: storage size of 'now' isn't known > 377 | struct bintime now; > > Dropping -std=c99 resolves this. I'm guessing turning on some BSD > visibility flag would do the same but it shouldn't be needed. Any ideas for > a real fix? > > Do we have any test cases which ensure the headers compile as C99? All > published POSIX versions assume C99. > It isn't just c99. C11 and C17 also cause this. It is turning on the "standard" which turns off many extensions. Internally, this header needs to enable BSD extensions. > > --joel >
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel