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. --joel
rtems_config.c
Description: Binary data
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel