1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 <2023> 2024 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 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: C and C++ standard required by EPICS 7 Base and modules? |
From: | Michael Davidsaver via Tech-talk <tech-talk at aps.anl.gov> |
To: | "J. Lewis Muir" <jlmuir at imca-cat.org> |
Cc: | EPICS Tech-Talk <tech-talk at aps.anl.gov> |
Date: | Wed, 29 Nov 2023 10:17:35 -0800 |
On 11/29/23 09:55, J. Lewis Muir wrote:
On 11/29, Michael Davidsaver wrote:On 11/28/23 21:19, J. Lewis Muir via Tech-talk wrote:What C language standard (e.g., C99) and C++ language standard (e.g., C++11) does EPICS 7 Base require?Currently epics-base and the bundled PVA modules should build with -std=c++98.Thanks! And what about C?
In practice, my answer is the same. The toolchains we test with. eg. RTEMS 4.9 has GCC 4.4. On "paper" C89. I am less certain that Base would actually build with -std=c89 as we may use some compiler specific features in OS/compiler specific code.
Also, is there a C and C++ language standard for EPICS 7 modules? BTW, the EPICS 7 Base build system does not specify a C and C++ standard when compiling (e.g., via a "-std=" compiler option) on most platforms, but I think it should on all platforms. I only see that compiler option being used in the following:Of more practical importance than -std=... we test with older G++ and MSVC. eg. with my PVXS modules, while I say >= c++11. In practice my compatibility target is g++ >= 4.8 (circa RHEL7) which implemented most, but not all, of c++11.Thanks! And again, what about C?
PVXS is written in C++.