On 25/07/2022 01:04, Joel Sherrill wrote:> On Sun, Jul 24, 2022 at 11:20 AM Joel Sherrill <j...@rtems.org
<mailto: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.

The use of this structure is in _IMFS_get_time() which is an internal IMFS function. I think we need an imfsimpl.h header file for the IMFS implementation. There are too many details exposed to the application configuration.

--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to