|
|
Experimental Physics and
| ||||||||||||||||
|
|
On Tue, Sep 29, 2026 at 4:38 PM Michael Davidsaver via Tech-talk <tech-talk at aps.anl.gov> wrote:
It is too late to back fill this in properly but I think every project should pick a version of the language it is using and specify that in the build system. Not explicitly doing this leaves the language version to the whims of whatever gcc/llvm is installed. C11 wasn't a huge break with C99 and C17 is just a bug fix for C11. So there wasn't a huge breakage for years of C and compiler evolution. We were all just lucky. C23 has new features and keywords. GCC 15 defaults to C23. We were seeing this problem with RTEMS 5 on some packages. The newer distributions had newer compilers which defaulted to newer language versions. Chris Johns added support to the RTEMS Source Builder for us to add a standard way to specify the expected language version. This addressed the problem packages for RTEMS. I also am a lead on an avionics software standard that specifies specific language versions and off-limits features. It is not uncommon for people to not specify any -std or specify a version not allowed in the standard and then wonder why they don't pass conformance testing. It isn't a bad reflection on EPICS -std isn't specified. It unfortunately is not something that people seem to realize is important to define as a project requirement. "EPICS shall be written in Cnn or C++nn." I would also add that I pushed RTEMS to be warning free for "-Wall". Once warning free with that, we went to "-Wall -Werror" and then "-Wall -Wextra". Before all the -Wextra were fixed, I added -Wno-XXX to disable specific warnings. It is thankless work but is a worthy goal. --joel RTEMS
| ||||||||||||||||
| ANJ, 29 Sep 2026 |
·
Home
·
News
·
About
·
Talk
·
Base
·
Modules
·
Extensions
·
· Distributions · Download · Documents · Links · Licensing · |