Experimental Physics and Industrial Control System
With Andrew's assistance I made the following change to
osiWireFormatl.h:
Index: src/libCom/osi/osiWireFormat.h
===================================================================
RCS file: /net/phoebus/epicsmgr/cvsroot/epics/base/src/libCom/osi/
osiWireFormat.h,v
retrieving revision 1.1.2.1
diff -u -r1.1.2.1 osiWireFormat.h
--- src/libCom/osi/osiWireFormat.h 30 Nov 2006 22:03:39
-0000 1.1.2.1
+++ src/libCom/osi/osiWireFormat.h 4 Dec 2006 15:36:57 -0000
@@ -141,12 +141,24 @@
};
template <>
+union WireAlias < epicsUInt16 > {
+ epicsUInt16 _u;
+ epicsInt16 _o;
+};
+
+template <>
union WireAlias < epicsInt32 > {
epicsUInt32 _u;
epicsInt32 _o;
};
template <>
+union WireAlias < epicsUInt32 > {
+ epicsUInt32 _u;
+ epicsInt32 _o;
+};
+
+template <>
union WireAlias < epicsFloat32 > {
epicsUInt32 _u;
epicsFloat32 _o;
make -C O.RTEMS-uC5282 -f ../Makefile TOP=../../.. T_A=RTEMS-uC5282
install
/usr/local/rtems/rtems-4.7/bin/m68k-rtems4.7-g++ -B/usr/local/rtems/
rtems-4.7/m68k-rtems4.7/uC5282/lib/ -specs bsp_specs -qrtems -c -
m528x -DUNIX -ansi -O4 -g -g -Wall -
DMY_DO_BOOTP=NULL -
DRTEMS_NETWORK_CONFIG_DNS_DOMAINNAME=aps.anl.gov -
DRTEMS_NETWORK_CONFIG_DNS_DOMAINNAME=aps.anl.gov -I. -I.. -I../../../
include/os/RTEMS -I../../../include ../cac.cpp
../nciu.h:124: warning: 'class privateInterfaceForIO' has virtual
functions but non-virtual destructor
../comBuf.h:47: warning: 'class wireSendAdapter' has virtual
functions but non-virtual destructor
../comBuf.h:66: warning: 'class wireRecvAdapter' has virtual
functions but non-virtual destructor
../cac.h:60: warning: 'class cacRecycle' has virtual functions but
non-virtual destructor
../../../include/osiWireFormat.h: In function 'void AlignedWireGet
(const T&, T&) [with T = double]':
../../../include/osiWireFormat.h:88: instantiated from
'AlignedWireRef<T>::operator T() const [with T = double]'
../comQueRecv.h:108: instantiated from here
../../../include/osiWireFormat.h:242: error: 'tmp' has incomplete type
../../../include/osiWireFormat.h:242: error: storage size of 'tmp'
isn't known
make[3]: *** [cac.o] Error 1
1) What to do now for doubles?
2) The signed/unsigned unions in osiWireFormat.h to avoid overzealous
aliasing optimizations are not necessary since the the strict
aliasing rules say that types which differ only in signed-ness can
not be assumed to be non-overlapping.
--
Eric Norum <[email protected]>
Advanced Photon Source
Argonne National Laboratory
(630) 252-4793
- Replies:
- RE: osiWireFormat.h problems Jeff Hill
- RE: osiWireFormat.h problems Jeff Hill
- Re: osiWireFormat.h problems Ralph Lange
- Navigate by Date:
- Prev:
Possible delay to R3.14.9-pre2 Andrew Johnson
- Next:
RE: osiWireFormat.h problems Jeff Hill
- Index:
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: More strict aliasing Eric Norum
- Next:
RE: osiWireFormat.h problems Jeff Hill
- Index:
2002
2003
2004
2005
<2006>
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024