Merge pull request #894 from linkmauve/no-union-types
Remove unused type unions breaking aliasing rules in horrible ways
This commit is contained in:
commit
19d5fbce8e
|
@ -52,32 +52,6 @@ typedef double f64; ///< 64-bit floating point
|
||||||
typedef u32 VAddr; ///< Represents a pointer in the userspace virtual address space.
|
typedef u32 VAddr; ///< Represents a pointer in the userspace virtual address space.
|
||||||
typedef u32 PAddr; ///< Represents a pointer in the ARM11 physical address space.
|
typedef u32 PAddr; ///< Represents a pointer in the ARM11 physical address space.
|
||||||
|
|
||||||
/// Union for fast 16-bit type casting
|
|
||||||
union t16 {
|
|
||||||
u8 _u8[2]; ///< 8-bit unsigned char(s)
|
|
||||||
u16 _u16; ///< 16-bit unsigned shorts(s)
|
|
||||||
};
|
|
||||||
|
|
||||||
/// Union for fast 32-bit type casting
|
|
||||||
union t32 {
|
|
||||||
f32 _f32; ///< 32-bit floating point(s)
|
|
||||||
u32 _u32; ///< 32-bit unsigned int(s)
|
|
||||||
s32 _s32; ///< 32-bit signed int(s)
|
|
||||||
u16 _u16[2]; ///< 16-bit unsigned shorts(s)
|
|
||||||
u8 _u8[4]; ///< 8-bit unsigned char(s)
|
|
||||||
};
|
|
||||||
|
|
||||||
/// Union for fast 64-bit type casting
|
|
||||||
union t64 {
|
|
||||||
f64 _f64; ///< 64-bit floating point
|
|
||||||
u64 _u64; ///< 64-bit unsigned long
|
|
||||||
f32 _f32[2]; ///< 32-bit floating point(s)
|
|
||||||
u32 _u32[2]; ///< 32-bit unsigned int(s)
|
|
||||||
s32 _s32[2]; ///< 32-bit signed int(s)
|
|
||||||
u16 _u16[4]; ///< 16-bit unsigned shorts(s)
|
|
||||||
u8 _u8[8]; ///< 8-bit unsigned char(s)
|
|
||||||
};
|
|
||||||
|
|
||||||
// An inheritable class to disallow the copy constructor and operator= functions
|
// An inheritable class to disallow the copy constructor and operator= functions
|
||||||
class NonCopyable {
|
class NonCopyable {
|
||||||
protected:
|
protected:
|
||||||
|
|
Reference in New Issue