diff --git a/Test/baseResults/constFoldIntMin.frag.out b/Test/baseResults/constFoldIntMin.frag.out new file mode 100644 index 000000000..da5bc26b8 --- /dev/null +++ b/Test/baseResults/constFoldIntMin.frag.out @@ -0,0 +1,51 @@ +constFoldIntMin.frag +Shader version: 460 +Requested GL_AMD_gpu_shader_int16 +Requested GL_ARB_gpu_shader_int64 +0:? Sequence +0:5 Function Definition: a( ( global void) +0:5 Function Parameters: +0:6 Sequence +0:6 Sequence +0:6 move second child to first child ( temp int16_t) +0:6 'u' ( temp int16_t) +0:6 Constant: +0:6 32768 (const int) +0:7 Sequence +0:7 move second child to first child ( temp int) +0:7 'v' ( temp int) +0:7 Constant: +0:7 -2147483648 (const int) +0:8 Sequence +0:8 move second child to first child ( temp int64_t) +0:8 'w' ( temp int64_t) +0:8 Constant: +0:8 -9223372036854775808 (const int64_t) +0:9 Sequence +0:9 move second child to first child ( temp int16_t) +0:9 'x' ( temp int16_t) +0:9 Constant: +0:9 0 (const int) +0:10 Sequence +0:10 move second child to first child ( temp int) +0:10 'y' ( temp int) +0:10 Constant: +0:10 0 (const int) +0:11 Sequence +0:11 move second child to first child ( temp int64_t) +0:11 'z' ( temp int64_t) +0:11 Constant: +0:11 0 (const int64_t) +0:? Linker Objects + + +Linked fragment stage: + +ERROR: Linking fragment stage: Missing entry point: Each stage requires one entry point + +Shader version: 460 +Requested GL_AMD_gpu_shader_int16 +Requested GL_ARB_gpu_shader_int64 +0:? Sequence +0:? Linker Objects + diff --git a/Test/baseResults/cppIntMinOverNegativeOne.frag.out b/Test/baseResults/cppIntMinOverNegativeOne.frag.out new file mode 100644 index 000000000..5dce7c3eb --- /dev/null +++ b/Test/baseResults/cppIntMinOverNegativeOne.frag.out @@ -0,0 +1,14 @@ +cppIntMinOverNegativeOne.frag +Shader version: 100 +0:? Sequence +0:? Linker Objects + + +Linked fragment stage: + +ERROR: Linking fragment stage: Missing entry point: Each stage requires one entry point + +Shader version: 100 +0:? Sequence +0:? Linker Objects + diff --git a/Test/constFoldIntMin.frag b/Test/constFoldIntMin.frag new file mode 100644 index 000000000..68618326c --- /dev/null +++ b/Test/constFoldIntMin.frag @@ -0,0 +1,12 @@ +#version 460 core +#extension GL_AMD_gpu_shader_int16 : enable +#extension GL_ARB_gpu_shader_int64 : enable + +void a(){ + int16_t u = -32768S / -1S; // SHRT_MIN + int v = -2147483648 / -1; // INT_MIN + int64_t w = -9223372036854775808L / -1L; // LLONG_MIN + int16_t x = -32768S % -1S; // SHRT_MIN + int y = -2147483648 % -1; // INT_MIN + int64_t z = -9223372036854775808L % -1L; // LLONG_MIN +} \ No newline at end of file diff --git a/Test/cppIntMinOverNegativeOne.frag b/Test/cppIntMinOverNegativeOne.frag new file mode 100644 index 000000000..b7e0a9536 --- /dev/null +++ b/Test/cppIntMinOverNegativeOne.frag @@ -0,0 +1,6 @@ +#if (-2147483648 / -1) != 0 +#error INT_MIN / -1 should yield 0, something went wrong. +#endif +#if (-2147483648 % -1) != 0 +#error INT_MIN % -1 should yield 0, something went wrong. +#endif \ No newline at end of file diff --git a/gtests/AST.FromFile.cpp b/gtests/AST.FromFile.cpp index f09ebe3aa..1a9592561 100644 --- a/gtests/AST.FromFile.cpp +++ b/gtests/AST.FromFile.cpp @@ -78,7 +78,7 @@ INSTANTIATE_TEST_CASE_P( "matrixError.vert", "cppSimple.vert", "cppIndent.vert", -// "cppIntMinOverNegativeOne.frag", + "cppIntMinOverNegativeOne.frag", "cppNest.vert", "cppBad.vert", "cppBad2.vert", @@ -115,7 +115,7 @@ INSTANTIATE_TEST_CASE_P( "330comp.frag", "constErrors.frag", "constFold.frag", -// "constFoldIntMin.frag", + "constFoldIntMin.frag", "errors.frag", "forwardRef.frag", "uint.frag",