Hello Alan,

On 12/09/2018 20:45, Cudmore, Alan P. (GSFC-5820) wrote:

Hello,

We are building our RTEMS applications with -std=c99 and other compiler warning switches.

On the latest RTEMS master and RTEMS 5 toolchain ( from yesterday ), when I include the -std=c99 compiler switch, the compilation fails in an RTEMS header.


I would not use C99 for multi-threaded programs. C11 is the first C standard which knows what a thread is.

Is it not recommended to use the “-std= “ switches when building RTEMS applications, or is this something that we should fix? We are able to use the “-std=c99” switches in 4.11. I noticed that the timestamp.h file did change between 4.11 and 5.x.


Yes, this is a known issue. RTEMS uses now the FreeBSD-specific struct bintime and sbintime for its internal timestamps. Unfortunately, this implementation detail is leaked via <rtems.h>. There are several ways to fix this. We could expose the FreeBSD-specific API unconditionally in <sys/types.h>. We could also try to hide this implementation detail from <rtems.h>.

Firstly, if it is supposed to compile <rtems.h> with a particular -std=* switch, then we should test this.

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to