mirror of https://github.com/encounter/SDL.git
Fixed bug 2755 - SDL2 fails to build on Solaris 10 u3
UX-admin I am compiling with the Sun Studio 12 u2 compiler. There are multiple issues with the build, but this particular issue appears to be that it is illegal to declare a union of a struct of floats and a float. While GCC 4.8.1 does not flag this as an error, Sun Studio is much more standards compliant and strict, halting further compilation with an error.
This commit is contained in:
parent
72ab258812
commit
7af3786def
|
@ -31,32 +31,32 @@ Float4X4 MatrixIdentity()
|
||||||
{
|
{
|
||||||
Float4X4 m;
|
Float4X4 m;
|
||||||
SDL_zero(m);
|
SDL_zero(m);
|
||||||
m._11 = 1.0f;
|
m.v._11 = 1.0f;
|
||||||
m._22 = 1.0f;
|
m.v._22 = 1.0f;
|
||||||
m._33 = 1.0f;
|
m.v._33 = 1.0f;
|
||||||
m._44 = 1.0f;
|
m.v._44 = 1.0f;
|
||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
|
||||||
Float4X4 MatrixMultiply(Float4X4 M1, Float4X4 M2)
|
Float4X4 MatrixMultiply(Float4X4 M1, Float4X4 M2)
|
||||||
{
|
{
|
||||||
Float4X4 m;
|
Float4X4 m;
|
||||||
m._11 = M1._11 * M2._11 + M1._12 * M2._21 + M1._13 * M2._31 + M1._14 * M2._41;
|
m.v._11 = M1.v._11 * M2.v._11 + M1.v._12 * M2.v._21 + M1.v._13 * M2.v._31 + M1.v._14 * M2.v._41;
|
||||||
m._12 = M1._11 * M2._12 + M1._12 * M2._22 + M1._13 * M2._32 + M1._14 * M2._42;
|
m.v._12 = M1.v._11 * M2.v._12 + M1.v._12 * M2.v._22 + M1.v._13 * M2.v._32 + M1.v._14 * M2.v._42;
|
||||||
m._13 = M1._11 * M2._13 + M1._12 * M2._23 + M1._13 * M2._33 + M1._14 * M2._43;
|
m.v._13 = M1.v._11 * M2.v._13 + M1.v._12 * M2.v._23 + M1.v._13 * M2.v._33 + M1.v._14 * M2.v._43;
|
||||||
m._14 = M1._11 * M2._14 + M1._12 * M2._24 + M1._13 * M2._34 + M1._14 * M2._44;
|
m.v._14 = M1.v._11 * M2.v._14 + M1.v._12 * M2.v._24 + M1.v._13 * M2.v._34 + M1.v._14 * M2.v._44;
|
||||||
m._21 = M1._21 * M2._11 + M1._22 * M2._21 + M1._23 * M2._31 + M1._24 * M2._41;
|
m.v._21 = M1.v._21 * M2.v._11 + M1.v._22 * M2.v._21 + M1.v._23 * M2.v._31 + M1.v._24 * M2.v._41;
|
||||||
m._22 = M1._21 * M2._12 + M1._22 * M2._22 + M1._23 * M2._32 + M1._24 * M2._42;
|
m.v._22 = M1.v._21 * M2.v._12 + M1.v._22 * M2.v._22 + M1.v._23 * M2.v._32 + M1.v._24 * M2.v._42;
|
||||||
m._23 = M1._21 * M2._13 + M1._22 * M2._23 + M1._23 * M2._33 + M1._24 * M2._43;
|
m.v._23 = M1.v._21 * M2.v._13 + M1.v._22 * M2.v._23 + M1.v._23 * M2.v._33 + M1.v._24 * M2.v._43;
|
||||||
m._24 = M1._21 * M2._14 + M1._22 * M2._24 + M1._23 * M2._34 + M1._24 * M2._44;
|
m.v._24 = M1.v._21 * M2.v._14 + M1.v._22 * M2.v._24 + M1.v._23 * M2.v._34 + M1.v._24 * M2.v._44;
|
||||||
m._31 = M1._31 * M2._11 + M1._32 * M2._21 + M1._33 * M2._31 + M1._34 * M2._41;
|
m.v._31 = M1.v._31 * M2.v._11 + M1.v._32 * M2.v._21 + M1.v._33 * M2.v._31 + M1.v._34 * M2.v._41;
|
||||||
m._32 = M1._31 * M2._12 + M1._32 * M2._22 + M1._33 * M2._32 + M1._34 * M2._42;
|
m.v._32 = M1.v._31 * M2.v._12 + M1.v._32 * M2.v._22 + M1.v._33 * M2.v._32 + M1.v._34 * M2.v._42;
|
||||||
m._33 = M1._31 * M2._13 + M1._32 * M2._23 + M1._33 * M2._33 + M1._34 * M2._43;
|
m.v._33 = M1.v._31 * M2.v._13 + M1.v._32 * M2.v._23 + M1.v._33 * M2.v._33 + M1.v._34 * M2.v._43;
|
||||||
m._34 = M1._31 * M2._14 + M1._32 * M2._24 + M1._33 * M2._34 + M1._34 * M2._44;
|
m.v._34 = M1.v._31 * M2.v._14 + M1.v._32 * M2.v._24 + M1.v._33 * M2.v._34 + M1.v._34 * M2.v._44;
|
||||||
m._41 = M1._41 * M2._11 + M1._42 * M2._21 + M1._43 * M2._31 + M1._44 * M2._41;
|
m.v._41 = M1.v._41 * M2.v._11 + M1.v._42 * M2.v._21 + M1.v._43 * M2.v._31 + M1.v._44 * M2.v._41;
|
||||||
m._42 = M1._41 * M2._12 + M1._42 * M2._22 + M1._43 * M2._32 + M1._44 * M2._42;
|
m.v._42 = M1.v._41 * M2.v._12 + M1.v._42 * M2.v._22 + M1.v._43 * M2.v._32 + M1.v._44 * M2.v._42;
|
||||||
m._43 = M1._41 * M2._13 + M1._42 * M2._23 + M1._43 * M2._33 + M1._44 * M2._43;
|
m.v._43 = M1.v._41 * M2.v._13 + M1.v._42 * M2.v._23 + M1.v._43 * M2.v._33 + M1.v._44 * M2.v._43;
|
||||||
m._44 = M1._41 * M2._14 + M1._42 * M2._24 + M1._43 * M2._34 + M1._44 * M2._44;
|
m.v._44 = M1.v._41 * M2.v._14 + M1.v._42 * M2.v._24 + M1.v._43 * M2.v._34 + M1.v._44 * M2.v._44;
|
||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,10 +64,10 @@ Float4X4 MatrixScaling(float x, float y, float z)
|
||||||
{
|
{
|
||||||
Float4X4 m;
|
Float4X4 m;
|
||||||
SDL_zero(m);
|
SDL_zero(m);
|
||||||
m._11 = x;
|
m.v._11 = x;
|
||||||
m._22 = y;
|
m.v._22 = y;
|
||||||
m._33 = z;
|
m.v._33 = z;
|
||||||
m._44 = 1.0f;
|
m.v._44 = 1.0f;
|
||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,13 +75,13 @@ Float4X4 MatrixTranslation(float x, float y, float z)
|
||||||
{
|
{
|
||||||
Float4X4 m;
|
Float4X4 m;
|
||||||
SDL_zero(m);
|
SDL_zero(m);
|
||||||
m._11 = 1.0f;
|
m.v._11 = 1.0f;
|
||||||
m._22 = 1.0f;
|
m.v._22 = 1.0f;
|
||||||
m._33 = 1.0f;
|
m.v._33 = 1.0f;
|
||||||
m._44 = 1.0f;
|
m.v._44 = 1.0f;
|
||||||
m._41 = x;
|
m.v._41 = x;
|
||||||
m._42 = y;
|
m.v._42 = y;
|
||||||
m._43 = z;
|
m.v._43 = z;
|
||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,12 +91,12 @@ Float4X4 MatrixRotationX(float r)
|
||||||
float cosR = SDL_cosf(r);
|
float cosR = SDL_cosf(r);
|
||||||
Float4X4 m;
|
Float4X4 m;
|
||||||
SDL_zero(m);
|
SDL_zero(m);
|
||||||
m._11 = 1.0f;
|
m.v._11 = 1.0f;
|
||||||
m._22 = cosR;
|
m.v._22 = cosR;
|
||||||
m._23 = sinR;
|
m.v._23 = sinR;
|
||||||
m._32 = -sinR;
|
m.v._32 = -sinR;
|
||||||
m._33 = cosR;
|
m.v._33 = cosR;
|
||||||
m._44 = 1.0f;
|
m.v._44 = 1.0f;
|
||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -106,12 +106,12 @@ Float4X4 MatrixRotationY(float r)
|
||||||
float cosR = SDL_cosf(r);
|
float cosR = SDL_cosf(r);
|
||||||
Float4X4 m;
|
Float4X4 m;
|
||||||
SDL_zero(m);
|
SDL_zero(m);
|
||||||
m._11 = cosR;
|
m.v._11 = cosR;
|
||||||
m._13 = -sinR;
|
m.v._13 = -sinR;
|
||||||
m._22 = 1.0f;
|
m.v._22 = 1.0f;
|
||||||
m._31 = sinR;
|
m.v._31 = sinR;
|
||||||
m._33 = cosR;
|
m.v._33 = cosR;
|
||||||
m._44 = 1.0f;
|
m.v._44 = 1.0f;
|
||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,12 +121,12 @@ Float4X4 MatrixRotationZ(float r)
|
||||||
float cosR = SDL_cosf(r);
|
float cosR = SDL_cosf(r);
|
||||||
Float4X4 m;
|
Float4X4 m;
|
||||||
SDL_zero(m);
|
SDL_zero(m);
|
||||||
m._11 = cosR;
|
m.v._11 = cosR;
|
||||||
m._12 = sinR;
|
m.v._12 = sinR;
|
||||||
m._21 = -sinR;
|
m.v._21 = -sinR;
|
||||||
m._22 = cosR;
|
m.v._22 = cosR;
|
||||||
m._33 = 1.0f;
|
m.v._33 = 1.0f;
|
||||||
m._44 = 1.0f;
|
m.v._44 = 1.0f;
|
||||||
return m;
|
return m;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,7 +53,7 @@ typedef struct
|
||||||
float _21, _22, _23, _24;
|
float _21, _22, _23, _24;
|
||||||
float _31, _32, _33, _34;
|
float _31, _32, _33, _34;
|
||||||
float _41, _42, _43, _44;
|
float _41, _42, _43, _44;
|
||||||
};
|
} v;
|
||||||
float m[4][4];
|
float m[4][4];
|
||||||
};
|
};
|
||||||
} Float4X4;
|
} Float4X4;
|
||||||
|
|
Loading…
Reference in New Issue