On Thu, Sep 13, 2018 at 8:14 AM, Joel Sherrill <j...@rtems.org> wrote: > > > On Thu, Sep 13, 2018, 12:39 AM Sebastian Huber > <sebastian.hu...@embedded-brains.de> wrote: >> >> 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. > > > We should test this and make it a requirement. > > The requirements of the FACE Technical Standard require C99, C++03, ARINF > 653, and POSIX with a focus on four subsets which match aviation > qualification precedents. > > C11 as well as newer versions of C++ (at least to 2014) are being evaluated > for inclusion in the next major edition which is a while away. There is no > use of these in qualified applications based on the experiences of the RTOS > vendors who participate. > > Based on the usage reported by the other RTOS vendors and FACE requirements, > I think we need to ensure that all major API headers work with C99 and C++03 > as a baseline. > > This may result in variants of psxhdr as well as similar Classic API tests. >
If any of this can feed GCI tasks please let me know. > --joel >> >> >> -- >> 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 > > > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel