diff --git a/test/bug/bug_ms_vec_static.cpp b/test/bug/bug_ms_vec_static.cpp index 9ce2cee5..eab23e22 100644 --- a/test/bug/bug_ms_vec_static.cpp +++ b/test/bug/bug_ms_vec_static.cpp @@ -1,57 +1,25 @@ -template struct vec2; +struct vec2; -struct _swizzle_base0 +struct _swizzle { char _buffer[1]; }; -template -struct _swizzle_base1 : public _swizzle_base0 -{ -}; - -template -struct _swizzle_base1 : public _swizzle_base0 -{ - -}; - -template -struct _swizzle_base2 : public _swizzle_base1 -{ - -}; - -template -struct _swizzle_base2 : public _swizzle_base1 -{ - -}; - -template -struct _swizzle : public _swizzle_base2 -{ - -}; - -template struct vec2 { - constexpr vec2(T x, T y) : + constexpr vec2(float x, float y) : x(x), y(y) {} union { - struct { T x, y; }; - struct { _swizzle<0,0,-1,-2> xx; }; + struct { float x, y; }; + struct { _swizzle xx; }; }; }; -typedef vec2 float2; - // Visual C++ has a bug generating the error: fatal error C1001: An internal error has occurred in the compiler. -float2 const Bar(1.f, 1.f); +vec2 const Bar(1.f, 1.f); int main() {