2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 <2020> 2021 2022 2023 2024 | Index | 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 <2020> 2021 2022 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Problems with hanging osiSockTest |
From: | "Johnson, Andrew N. via Core-talk" <core-talk at aps.anl.gov> |
To: | Ralph Lange <ralph.lange at gmx.de> |
Cc: | EPICS core-talk <core-talk at aps.anl.gov> |
Date: | Fri, 20 Nov 2020 18:31:59 +0000 |
On Nov 20, 2020, at 10:13 AM, Ralph Lange via Core-talk <core-talk at aps.anl.gov> wrote:
The APS still builds and runs some IOCs on VxWorks 5.5.2 but we have been working to update those IOCs to Base-3.14.12.5 and VxWorks 6.9 which is quite happy to compile declarations after other statements in a block. I’m not sure which VxWorks 6.x version
updated gcc to one that first accepted that syntax, I’m pretty sure 6.8 also supports it though.
I did have to point out to Kay the other day that the latest release of his ether_ip module no longer builds on VxWorks 5 for this exact same reason, but I was able to disable those targets when building that module and I just suggested that he should
mention the incompatibility in his README, not that he should change the code.
EPICS 7.0 dropped support for VxWorks 5.5.x, but Dirk has previously submitted changes to ensure the core modules will build for it; it’s just the PVA modules that can’t. Does a newer gcc build that has the flag --std=c89 detect
this syntax? I suspect it might also need the flag —pedantic to enforce the old syntax standard though, and Base probably won’t build with that flag as well.
If someone is able to detect this by playing with with compiler flags they would also have to stop that build from descending into the PVA modules. That can be done quite easily by having the build create a
modules/Makefile.local that contains just one line:
undef SUBMODULES Whether Ralph would/should accept the necessary parallel changes to the CI scripts is a different question though.
Dirk's particular change request here seems innocuous[1] and small enough that I don’t mind our making it. At some point though (7.1 if not sooner) we are going to reject these kinds of changes on principle. Variable scope affects code readability.
- Andrew
[1]
--
Complexity comes for free, simplicity you have to work for.
|