[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[certi-cvs] certi/libHLA HLAbasicType.hh
From: |
certi-cvs |
Subject: |
[certi-cvs] certi/libHLA HLAbasicType.hh |
Date: |
Sun, 14 Mar 2010 17:35:20 +0000 |
CVSROOT: /sources/certi
Module name: certi
Changes by: Petr Gotthard <gotthardp> 10/03/14 17:35:20
Modified files:
libHLA : HLAbasicType.hh
Log message:
Bugfix: be more robust against unwanted optimizations.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/certi/libHLA/HLAbasicType.hh?cvsroot=certi&r1=1.6&r2=1.7
Patches:
Index: HLAbasicType.hh
===================================================================
RCS file: /sources/certi/certi/libHLA/HLAbasicType.hh,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- HLAbasicType.hh 18 Oct 2009 19:54:08 -0000 1.6
+++ HLAbasicType.hh 14 Mar 2010 17:35:20 -0000 1.7
@@ -11,7 +11,7 @@
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
-// $Id: HLAbasicType.hh,v 1.6 2009/10/18 19:54:08 gotthardp Exp $
+// $Id: HLAbasicType.hh,v 1.7 2010/03/14 17:35:20 gotthardp Exp $
// ----------------------------------------------------------------------------
#ifndef _HLATYPES_BASICTYPE_HH
@@ -93,10 +93,11 @@
union {
uint16_t u16;
T x;
- } result;
- result.u16 =
- (*(uint16_t*)&x<<8 | *(uint16_t*)&x>>8);
- return result.x;
+ } val, res;
+ val.x = x;
+ res.u16 =
+ (val.u16<<8 | val.u16>>8);
+ return res.x;
}
};
@@ -107,12 +108,13 @@
union {
uint32_t u32;
T x;
- } result;
- result.u32 =
- (*(uint32_t*)&x<<24 | *(uint32_t*)&x>>24 |
- (*(uint32_t*)&x & 0x0000ff00UL)<<8 |
- (*(uint32_t*)&x & 0x00ff0000UL)>>8);
- return result.x;
+ } val, res;
+ val.x = x;
+ res.u32 =
+ (val.u32<<24 | val.u32>>24 |
+ (val.u32 & 0x0000ff00UL)<<8 |
+ (val.u32 & 0x00ff0000UL)>>8);
+ return res.x;
}
};
@@ -123,16 +125,17 @@
union {
uint64_t u64;
T x;
- } result;
- result.u64 =
- (*(uint64_t*)&x<<56 | *(uint64_t*)&x>>56 |
- (*(uint64_t*)&x & 0x000000000000ff00ULL)<<40 |
- (*(uint64_t*)&x & 0x0000000000ff0000ULL)<<24 |
- (*(uint64_t*)&x & 0x00000000ff000000ULL)<< 8 |
- (*(uint64_t*)&x & 0x000000ff00000000ULL)>> 8 |
- (*(uint64_t*)&x & 0x0000ff0000000000ULL)>>24 |
- (*(uint64_t*)&x & 0x00ff000000000000ULL)>>40);
- return result.x;
+ } val, res;
+ val.x = x;
+ res.u64 =
+ (val.u64<<56 | val.u64>>56 |
+ (val.u64 & 0x000000000000ff00ULL)<<40 |
+ (val.u64 & 0x0000000000ff0000ULL)<<24 |
+ (val.u64 & 0x00000000ff000000ULL)<< 8 |
+ (val.u64 & 0x000000ff00000000ULL)>> 8 |
+ (val.u64 & 0x0000ff0000000000ULL)>>24 |
+ (val.u64 & 0x00ff000000000000ULL)>>40);
+ return res.x;
}
};
@@ -215,5 +218,5 @@
#endif // _HLATYPES_BASICTYPE_HH
-// $Id: HLAbasicType.hh,v 1.6 2009/10/18 19:54:08 gotthardp Exp $
+// $Id: HLAbasicType.hh,v 1.7 2010/03/14 17:35:20 gotthardp Exp $
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [certi-cvs] certi/libHLA HLAbasicType.hh,
certi-cvs <=