On 08/15/2014 10:34 AM, Mark Rivers wrote:
> But I think there is a limitation with EPICS 3.14 because there is no
> architecture-independent definition of 64-bit integer data types.
> The 64-bit types epicsInt64 and epicsUIn64 are only defined if
> __STDC_VERSION__ >= 199901L. There are a number of architectures
> that support 64-bit integers (e.g. Windows) but don't define the
> EPICS types because they fail the STDC_VERSION test.
The 3.15.1 release of Base, due in December, will provide the 64-bit
integer types for all architectures. We didn't want to add them to 3.14
because that is still supposed to build on VxWorks 5.4.2 which does not
provide complete support for long long integers.
[Technical aside: The __STDC_VERSION__ >= 199901L test is wrong anyway;
it can only succeed in C code since the C++ pre-compiler never defines
that macro. Thus C++ code will never see the epics[U]Int64 type
definitions in 3.14, and I suspect there are other issues with those C99
definitions which I will probably remove in 3.15.]
The Base 3.15.1 release will require VxWorks 5.5.2 or later, which do
support 64-bit integer operations. However even the latest VxWorks
6.9.4.1 release omits the strtoll() and strtoull() routines, so we may
provide them ourselves through epicsStdlib.h.
I have been working on adding DBF_INT64 and DBF_UINT64 field types to
the IOC, but this work could break existing device support code and will
not appear until Base 3.16 at the earliest.
- Andrew
--
Advertising may be described as the science of arresting the human
intelligence long enough to get money from it. -- Stephen Leacock
- References:
- Problem with creating an array of Long with aSub record David Michel
- Fwd: Problem with creating an array of Long with aSub record David Michel
- RE: Problem with creating an array of Long with aSub record michael.abbott
- RE: Problem with creating an array of Long with aSub record Mark Rivers
- Re: Problem with creating an array of Long with aSub record Andrew Johnson
- RE: Problem with creating an array of Long with aSub record Mark Rivers
- Navigate by Date:
- Prev:
RE: Windows installer error - bcastEnvChange.exe Anderson, Janet B.
- Next:
Areadetector IOC for Pilatus Specht, Eliot D.
- 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
- Navigate by Thread:
- Prev:
RE: Problem with creating an array of Long with aSub record Mark Rivers
- Next:
Re: Problem with creating an array of Long with aSub record Benjamin Franksen
- 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
|