KhronosGroup / KhronosGroup/glslang

Glslang test Glsl/CompileToAstTest.FromFile/constantUnaryConversion_comp failed on release|x86 configuration with MSVC

Open
#1,612 1 comment 0 reactions 0 assignees View on GitHub
question
Dominant language
C++
Stars
3.6k
Forks
989
Avg merge
1d 2h
Merged PRs (30d)
31

Description

Describe the problem:
Glslang failed to run CompileToAstTest.FromFile/constantUnaryConversion_comp test on release|x86 configuration with MSVC. This issue can be reproduced from latest revision 667506a. This test converts negative floating-point values to unsigned integer types and the result of that conversion maybe unspecified by the C and C++ standards. This should be Glslang source issue, could you please help take a look at this? Thanks!

The failures like:
The whole log file please see attachment.
[log_x86_test.log](https://github.com/KhronosGroup/glslang/files/2638412/log_x86_test.log)

Repro steps:
1. git clone https://github.com/KhronosGroup/glslang.git D:\Glslang\src
2. git clone https://github.com/google/googletest.git D:\Glslang\src\External\googletest
3. Open a VS 2017 x86 command prompt and browse to D:\Glslang
4. cd src
5. python .\update_glslang_sources.py
6. cd ..
7. mkdir build_x86 && pushd build_x86
8. cmake -G "Visual Studio 15 2017" -DCMAKE_SYSTEM_VERSION=10.0.17134.0 ..\src
9. msbuild /p:Configuration=Release;Platform=Win32 build_x86\glslang.sln /t:Rebuild /m
10. pushd build_x86\gtests\Release
11. glslangtests.exe --gtest_filter=Glsl/CompileToAstTest.FromFile/constantUnaryConversion_comp

Error Message:
[ RUN ] Glsl/CompileToAstTest.FromFile/constantUnaryConversion_comp
D:\Glslang\src\gtests\TestFixture.h(144): error: Expected: expected​
Which is: "constantUnaryConversion.comp\nShader version: 450\nRequested GL_KHX_shader_explicit_arithmetic_types\nlocal_size = (1, 1, 1)\n0:? Sequence\n0:48 Function Definition: main( ( global void)\n0:48 Function Parameters: \n0:? Linker Objects\n0:? 'bool_init' ( const bool)\n0:? true (const bool)\n0:? 'int8_t_init' ( const int8_t)\n0:? -1 (const int)\n0:? 'int16_t_init' ( const int16_t)\n0:? -2 (const int)\n0:? 'int32_t_init' ( const int)\n0:? -3 (const int)\n0:? 'int64_t_init' ( const int64_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_init' ( const uint8_t)\n0:? 1 (const int)\n0:? 'uint16_t_init' ( const uint16_t)\n0:? 2 (const int)\n0:? 'uint32_t_init' ( const uint)\n0:? 3 (const uint)\n0:? 'uint64_t_init' ( const uint64_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_init' ( const float16_t)\n0:? 42.000000\n0:? 'float32_t_init' ( const float)\n0:? 13.000000\n0:? 'float64_t_init' ( const double)\n0:? -4.000000\n0:? 'bool_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'int8_t_to_bool' ( const bool)\n0:? -1 (const int)\n0:? 'int16_t_to_bool' ( const bool)\n0:? -2 (const int)\n0:? 'int32_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'int64_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'uint8_t_to_bool' ( const bool)\n0:? 1 (const int)\n0:? 'uint16_t_to_bool' ( const bool)\n0:? 2 (const int)\n0:? 'uint32_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'uint64_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'float16_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'float32_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'float64_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'bool_to_int8_t' ( const int8_t)\n0:? true (const bool)\n0:? 'int8_t_to_int8_t' ( const int8_t)\n0:? -1 (const int)\n0:? 'int16_t_to_int8_t' ( const int8_t)\n0:? -2 (const int)\n0:? 'int32_t_to_int8_t' ( const int8_t)\n0:? -3 (const int)\n0:? 'int64_t_to_int8_t' ( const int8_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_to_int8_t' ( const int8_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_int8_t' ( const int8_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_int8_t' ( const int8_t)\n0:? 3 (const uint)\n0:? 'uint64_t_to_int8_t' ( const int8_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_to_int8_t' ( const int8_t)\n0:? 42.000000\n0:? 'float32_t_to_int8_t' ( const int8_t)\n0:? 13.000000\n0:? 'float64_t_to_int8_t' ( const int8_t)\n0:? -4.000000\n0:? 'bool_to_int16_t' ( const int16_t)\n0:? true (const bool)\n0:? 'int8_t_to_int16_t' ( const int16_t)\n0:? -1 (const int)\n0:? 'int16_t_to_int16_t' ( const int16_t)\n0:? -2 (const int)\n0:? 'int32_t_to_int16_t' ( const int16_t)\n0:? -3 (const int)\n0:? 'int64_t_to_int16_t' ( const int16_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_to_int16_t' ( const int16_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_int16_t' ( const int16_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_int16_t' ( const int16_t)\n0:? 3 (const uint)\n0:? 'uint64_t_to_int16_t' ( const int16_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_to_int16_t' ( const int16_t)\n0:? 42.000000\n0:? 'float32_t_to_int16_t' ( const int16_t)\n0:? 13.000000\n0:? 'float64_t_to_int16_t' ( const int16_t)\n0:? -4.000000\n0:? 'bool_to_int32_t' ( const int)\n0:? 1 (const int)\n0:? 'int8_t_to_int32_t' ( const int)\n0:? -1 (const int)\n0:? 'int16_t_to_int32_t' ( const int)\n0:? -2 (const int)\n0:? 'int32_t_to_int32_t' ( const int)\n0:? -3 (const int)\n0:? 'int64_t_to_int32_t' ( const int)\n0:? -4 (const int)\n0:? 'uint8_t_to_int32_t' ( const int)\n0:? 1 (const int)\n0:? 'uint16_t_to_int32_t' ( const int)\n0:? 2 (const int)\n0:? 'uint32_t_to_int32_t' ( const int)\n0:? 3 (const int)\n0:? 'uint64_t_to_int32_t' ( const int)\n0:? 4 (const int)\n0:? 'float16_t_to_int32_t' ( const int)\n0:? 42 (const int)\n0:? 'float32_t_to_int32_t' ( const int)\n0:? 13 (const int)\n0:? 'float64_t_to_int32_t' ( const int)\n0:? -4 (const int)\n0:? 'bool_to_int64_t' ( const int64_t)\n0:? 1 (const int64_t)\n0:? 'int8_t_to_int64_t' ( const int64_t)\n0:? -1 (const int)\n0:? 'int16_t_to_int64_t' ( const int64_t)\n0:? -2 (const int)\n0:? 'int32_t_to_int64_t' ( const int64_t)\n0:? -3 (const int64_t)\n0:? 'int64_t_to_int64_t' ( const int64_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_to_int64_t' ( const int64_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_int64_t' ( const int64_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_int64_t' ( const int64_t)\n0:? 3 (const int64_t)\n0:? 'uint64_t_to_int64_t' ( const int64_t)\n0:? 4 (const int64_t)\n0:? 'float16_t_to_int64_t' ( const int64_t)\n0:? 42 (const int64_t)\n0:? 'float32_t_to_int64_t' ( const int64_t)\n0:? 13 (const int64_t)\n0:? 'float64_t_to_int64_t' ( const int64_t)\n0:? -4 (const int64_t)\n0:? 'bool_to_uint8_t' ( const uint8_t)\n0:? true (const bool)\n0:? 'int8_t_to_uint8_t' ( const uint8_t)\n0:? -1 (const int)\n0:? 'int16_t_to_uint8_t' ( const uint8_t)\n0:? -2 (const int)\n0:? 'int32_t_to_uint8_t' ( const uint8_t)\n0:? -3 (const int)\n0:? 'int64_t_to_uint8_t' ( const uint8_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_to_uint8_t' ( const uint8_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_uint8_t' ( const uint8_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_uint8_t' ( const uint8_t)\n0:? 3 (const uint)\n0:? 'uint64_t_to_uint8_t' ( const uint8_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_to_uint8_t' ( const uint8_t)\n0:? 42.000000\n0:? 'float32_t_to_uint8_t' ( const uint8_t)\n0:? 13.000000\n0:? 'float64_t_to_uint8_t' ( const uint8_t)\n0:? -4.000000\n0:? 'bool_to_uint16_t' ( const uint16_t)\n0:? true (const bool)\n0:? 'int8_t_to_uint16_t' ( const uint16_t)\n0:? -1 (const int)\n0:? 'int16_t_to_uint16_t' ( const uint16_t)\n0:? -2 (const int)\n0:? 'int32_t_to_uint16_t' ( const uint16_t)\n0:? -3 (const int)\n0:? 'int64_t_to_uint16_t' ( const uint16_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_to_uint16_t' ( const uint16_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_uint16_t' ( const uint16_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_uint16_t' ( const uint16_t)\n0:? 3 (const uint)\n0:? 'uint64_t_to_uint16_t' ( const uint16_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_to_uint16_t' ( const uint16_t)\n0:? 42.000000\n0:? 'float32_t_to_uint16_t' ( const uint16_t)\n0:? 13.000000\n0:? 'float64_t_to_uint16_t' ( const uint16_t)\n0:? -4.000000\n0:? 'bool_to_uint32_t' ( const uint)\n0:? 1 (const uint)\n0:? 'int8_t_to_uint32_t' ( const uint)\n0:? -1 (const int)\n0:? 'int16_t_to_uint32_t' ( const uint)\n0:? -2 (const int)\n0:? 'int32_t_to_uint32_t' ( const uint)\n0:? 4294967293 (const uint)\n0:? 'int64_t_to_uint32_t' ( const uint)\n0:? 4294967292 (const uint)\n0:? 'uint8_t_to_uint32_t' ( const uint)\n0:? 1 (const int)\n0:? 'uint16_t_to_uint32_t' ( const uint)\n0:? 2 (const int)\n0:? 'uint32_t_to_uint32_t' ( const uint)\n0:? 3 (const uint)\n0:? 'uint64_t_to_uint32_t' ( const uint)\n0:? 4 (const uint)\n0:? 'float16_t_to_uint32_t' ( const uint)\n0:? 42 (const uint)\n0:? 'float32_t_to_uint32_t' ( const uint)\n0:? 13 (const uint)\n0:? 'float64_t_to_uint32_t' ( const uint)\n0:? 4294967292 (const uint)\n0:? 'bool_to_uint64_t' ( const uint64_t)\n0:? 1 (const uint64_t)\n0:? 'int8_t_to_uint64_t' ( const uint64_t)\n0:? -1 (const int)\n0:? 'int16_t_to_uint64_t' ( const uint64_t)\n0:? -2 (const int)\n0:? 'int32_t_to_uint64_t' ( const uint64_t)\n0:? 18446744073709551613 (const uint64_t)\n0:? 'int64_t_to_uint64_t' ( const uint64_t)\n0:? 18446744073709551612 (const uint64_t)\n0:? 'uint8_t_to_uint64_t' ( const uint64_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_uint64_t' ( const uint64_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_uint64_t' ( const uint64_t)\n0:? 3 (const uint64_t)\n0:? 'uint64_t_to_uint64_t' ( const uint64_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_to_uint64_t' ( const uint64_t)\n0:? 42 (const uint64_t)\n0:? 'float32_t_to_uint64_t' ( const uint64_t)\n0:? 13 (const uint64_t)\n0:? 'float64_t_to_uint64_t' ( const uint64_t)\n0:? 18446744073709551612 (const uint64_t)\n0:? 'bool_to_float16_t' ( const float16_t)\n0:? 1.000000\n0:? 'int8_t_to_float16_t' ( const float16_t)\n0:? -1 (const int)\n0:? 'int16_t_to_float16_t' ( const float16_t)\n0:? -2 (const int)\n0:? 'int32_t_to_float16_t' ( const float16_t)\n0:? -3.000000\n0:? 'int64_t_to_float16_t' ( const float16_t)\n0:? -4.000000\n0:? 'uint8_t_to_float16_t' ( const float16_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_float16_t' ( const float16_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_float16_t' ( const float16_t)\n0:? 3.000000\n0:? 'uint64_t_to_float16_t' ( const float16_t)\n0:? 4.000000\n0:? 'float16_t_to_float16_t' ( const float16_t)\n0:? 42.000000\n0:? 'float32_t_to_float16_t' ( const float16_t)\n0:? 13.000000\n0:? 'float64_t_to_float16_t' ( const float16_t)\n0:? -4.000000\n0:? 'bool_to_float32_t' ( const float)\n0:? 1.000000\n0:? 'int8_t_to_float32_t' ( const float)\n0:? -1 (const int)\n0:? 'int16_t_to_float32_t' ( const float)\n0:? -2 (const int)\n0:? 'int32_t_to_float32_t' ( const float)\n0:? -3.000000\n0:? 'int64_t_to_float32_t' ( const float)\n0:? -4.000000\n0:? 'uint8_t_to_float32_t' ( const float)\n0:? 1 (const int)\n0:? 'uint16_t_to_float32_t' ( const float)\n0:? 2 (const int)\n0:? 'uint32_t_to_float32_t' ( const float)\n0:? 3.000000\n0:? 'uint64_t_to_float32_t' ( const float)\n0:? 4.000000\n0:? 'float16_t_to_float32_t' ( const float)\n0:? 42.000000\n0:? 'float32_t_to_float32_t' ( const float)\n0:? 13.000000\n0:? 'float64_t_to_float32_t' ( const float)\n0:? -4.000000\n0:? 'bool_to_float64_t' ( const double)\n0:? 1.000000\n0:? 'int8_t_to_float64_t' ( const double)\n0:? -1 (const int)\n0:? 'int16_t_to_float64_t' ( const double)\n0:? -2 (const int)\n0:? 'int32_t_to_float64_t' ( const double)\n0:? -3.000000\n0:? 'int64_t_to_float64_t' ( const double)\n0:? -4.000000\n0:? 'uint8_t_to_float64_t' ( const double)\n0:? 1 (const int)\n0:? 'uint16_t_to_float64_t' ( const double)\n0:? 2 (const int)\n0:? 'uint32_t_to_float64_t' ( const double)\n0:? 3.000000\n0:? 'uint64_t_to_float64_t' ( const double)\n0:? 4.000000\n0:? 'float16_t_to_float64_t' ( const double)\n0:? 42.000000\n0:? 'float32_t_to_float64_t' ( const double)\n0:? 13.000000\n0:? 'float64_t_to_float64_t' ( const double)\n0:? -4.000000\n\n\nLinked compute stage:\n\n\nShader version: 450\nRequested GL_KHX_shader_explicit_arithmetic_types\nlocal_size = (1, 1, 1)\n0:? Sequence\n0:48 Function Definition: main( ( global void)\n0:48 Function Parameters: \n0:? Linker Objects\n0:? 'bool_init' ( const bool)\n0:? true (const bool)\n0:? 'int8_t_init' ( const int8_t)\n0:? -1 (const int)\n0:? 'int16_t_init' ( const int16_t)\n0:? -2 (const int)\n0:? 'int32_t_init' ( const int)\n0:? -3 (const int)\n0:? 'int64_t_init' ( const int64_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_init' ( const uint8_t)\n0:? 1 (const int)\n0:? 'uint16_t_init' ( const uint16_t)\n0:? 2 (const int)\n0:? 'uint32_t_init' ( const uint)\n0:? 3 (const uint)\n0:? 'uint64_t_init' ( const uint64_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_init' ( const float16_t)\n0:? 42.000000\n0:? 'float32_t_init' ( const float)\n0:? 13.000000\n0:? 'float64_t_init' ( const double)\n0:? -4.000000\n0:? 'bool_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'int8_t_to_bool' ( const bool)\n0:? -1 (const int)\n0:? 'int16_t_to_bool' ( const bool)\n0:? -2 (const int)\n0:? 'int32_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'int64_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'uint8_t_to_bool' ( const bool)\n0:? 1 (const int)\n0:? 'uint16_t_to_bool' ( const bool)\n0:? 2 (const int)\n0:? 'uint32_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'uint64_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'float16_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'float32_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'float64_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'bool_to_int8_t' ( const int8_t)\n0:? true (const bool)\n0:? 'int8_t_to_int8_t' ( const int8_t)\n0:? -1 (const int)\n0:? 'int16_t_to_int8_t' ( const int8_t)\n0:? -2 (const int)\n0:? 'int32_t_to_int8_t' ( const int8_t)\n0:? -3 (const int)\n0:? 'int64_t_to_int8_t' ( const int8_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_to_int8_t' ( const int8_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_int8_t' ( const int8_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_int8_t' ( const int8_t)\n0:? 3 (const uint)\n0:? 'uint64_t_to_int8_t' ( const int8_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_to_int8_t' ( const int8_t)\n0:? 42.000000\n0:? 'float32_t_to_int8_t' ( const int8_t)\n0:? 13.000000\n0:? 'float64_t_to_int8_t' ( const int8_t)\n0:? -4.000000\n0:? 'bool_to_int16_t' ( const int16_t)\n0:? true (const bool)\n0:? 'int8_t_to_int16_t' ( const int16_t)\n0:? -1 (const int)\n0:? 'int16_t_to_int16_t' ( const int16_t)\n0:? -2 (const int)\n0:? 'int32_t_to_int16_t' ( const int16_t)\n0:? -3 (const int)\n0:? 'int64_t_to_int16_t' ( const int16_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_to_int16_t' ( const int16_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_int16_t' ( const int16_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_int16_t' ( const int16_t)\n0:? 3 (const uint)\n0:? 'uint64_t_to_int16_t' ( const int16_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_to_int16_t' ( const int16_t)\n0:? 42.000000\n0:? 'float32_t_to_int16_t' ( const int16_t)\n0:? 13.000000\n0:? 'float64_t_to_int16_t' ( const int16_t)\n0:? -4.000000\n0:? 'bool_to_int32_t' ( const int)\n0:? 1 (const int)\n0:? 'int8_t_to_int32_t' ( const int)\n0:? -1 (const int)\n0:? 'int16_t_to_int32_t' ( const int)\n0:? -2 (const int)\n0:? 'int32_t_to_int32_t' ( const int)\n0:? -3 (const int)\n0:? 'int64_t_to_int32_t' ( const int)\n0:? -4 (const int)\n0:? 'uint8_t_to_int32_t' ( const int)\n0:? 1 (const int)\n0:? 'uint16_t_to_int32_t' ( const int)\n0:? 2 (const int)\n0:? 'uint32_t_to_int32_t' ( const int)\n0:? 3 (const int)\n0:? 'uint64_t_to_int32_t' ( const int)\n0:? 4 (const int)\n0:? 'float16_t_to_int32_t' ( const int)\n0:? 42 (const int)\n0:? 'float32_t_to_int32_t' ( const int)\n0:? 13 (const int)\n0:? 'float64_t_to_int32_t' ( const int)\n0:? -4 (const int)\n0:? 'bool_to_int64_t' ( const int64_t)\n0:? 1 (const int64_t)\n0:? 'int8_t_to_int64_t' ( const int64_t)\n0:? -1 (const int)\n0:? 'int16_t_to_int64_t' ( const int64_t)\n0:? -2 (const int)\n0:? 'int32_t_to_int64_t' ( const int64_t)\n0:? -3 (const int64_t)\n0:? 'int64_t_to_int64_t' ( const int64_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_to_int64_t' ( const int64_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_int64_t' ( const int64_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_int64_t' ( const int64_t)\n0:? 3 (const int64_t)\n0:? 'uint64_t_to_int64_t' ( const int64_t)\n0:? 4 (const int64_t)\n0:? 'float16_t_to_int64_t' ( const int64_t)\n0:? 42 (const int64_t)\n0:? 'float32_t_to_int64_t' ( const int64_t)\n0:? 13 (const int64_t)\n0:? 'float64_t_to_int64_t' ( const int64_t)\n0:? -4 (const int64_t)\n0:? 'bool_to_uint8_t' ( const uint8_t)\n0:? true (const bool)\n0:? 'int8_t_to_uint8_t' ( const uint8_t)\n0:? -1 (const int)\n0:? 'int16_t_to_uint8_t' ( const uint8_t)\n0:? -2 (const int)\n0:? 'int32_t_to_uint8_t' ( const uint8_t)\n0:? -3 (const int)\n0:? 'int64_t_to_uint8_t' ( const uint8_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_to_uint8_t' ( const uint8_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_uint8_t' ( const uint8_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_uint8_t' ( const uint8_t)\n0:? 3 (const uint)\n0:? 'uint64_t_to_uint8_t' ( const uint8_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_to_uint8_t' ( const uint8_t)\n0:? 42.000000\n0:? 'float32_t_to_uint8_t' ( const uint8_t)\n0:? 13.000000\n0:? 'float64_t_to_uint8_t' ( const uint8_t)\n0:? -4.000000\n0:? 'bool_to_uint16_t' ( const uint16_t)\n0:? true (const bool)\n0:? 'int8_t_to_uint16_t' ( const uint16_t)\n0:? -1 (const int)\n0:? 'int16_t_to_uint16_t' ( const uint16_t)\n0:? -2 (const int)\n0:? 'int32_t_to_uint16_t' ( const uint16_t)\n0:? -3 (const int)\n0:? 'int64_t_to_uint16_t' ( const uint16_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_to_uint16_t' ( const uint16_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_uint16_t' ( const uint16_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_uint16_t' ( const uint16_t)\n0:? 3 (const uint)\n0:? 'uint64_t_to_uint16_t' ( const uint16_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_to_uint16_t' ( const uint16_t)\n0:? 42.000000\n0:? 'float32_t_to_uint16_t' ( const uint16_t)\n0:? 13.000000\n0:? 'float64_t_to_uint16_t' ( const uint16_t)\n0:? -4.000000\n0:? 'bool_to_uint32_t' ( const uint)\n0:? 1 (const uint)\n0:? 'int8_t_to_uint32_t' ( const uint)\n0:? -1 (const int)\n0:? 'int16_t_to_uint32_t' ( const uint)\n0:? -2 (const int)\n0:? 'int32_t_to_uint32_t' ( const uint)\n0:? 4294967293 (const uint)\n0:? 'int64_t_to_uint32_t' ( const uint)\n0:? 4294967292 (const uint)\n0:? 'uint8_t_to_uint32_t' ( const uint)\n0:? 1 (const int)\n0:? 'uint16_t_to_uint32_t' ( const uint)\n0:? 2 (const int)\n0:? 'uint32_t_to_uint32_t' ( const uint)\n0:? 3 (const uint)\n0:? 'uint64_t_to_uint32_t' ( const uint)\n0:? 4 (const uint)\n0:? 'float16_t_to_uint32_t' ( const uint)\n0:? 42 (const uint)\n0:? 'float32_t_to_uint32_t' ( const uint)\n0:? 13 (const uint)\n0:? 'float64_t_to_uint32_t' ( const uint)\n0:? 4294967292 (const uint)\n0:? 'bool_to_uint64_t' ( const uint64_t)\n0:? 1 (const uint64_t)\n0:? 'int8_t_to_uint64_t' ( const uint64_t)\n0:? -1 (const int)\n0:? 'int16_t_to_uint64_t' ( const uint64_t)\n0:? -2 (const int)\n0:? 'int32_t_to_uint64_t' ( const uint64_t)\n0:? 18446744073709551613 (const uint64_t)\n0:? 'int64_t_to_uint64_t' ( const uint64_t)\n0:? 18446744073709551612 (const uint64_t)\n0:? 'uint8_t_to_uint64_t' ( const uint64_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_uint64_t' ( const uint64_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_uint64_t' ( const uint64_t)\n0:? 3 (const uint64_t)\n0:? 'uint64_t_to_uint64_t' ( const uint64_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_to_uint64_t' ( const uint64_t)\n0:? 42 (const uint64_t)\n0:? 'float32_t_to_uint64_t' ( const uint64_t)\n0:? 13 (const uint64_t)\n0:? 'float64_t_to_uint64_t' ( const uint64_t)\n0:? 18446744073709551612 (const uint64_t)\n0:? 'bool_to_float16_t' ( const float16_t)\n0:? 1.000000\n0:? 'int8_t_to_float16_t' ( const float16_t)\n0:? -1 (const int)\n0:? 'int16_t_to_float16_t' ( const float16_t)\n0:? -2 (const int)\n0:? 'int32_t_to_float16_t' ( const float16_t)\n0:? -3.000000\n0:? 'int64_t_to_float16_t' ( const float16_t)\n0:? -4.000000\n0:? 'uint8_t_to_float16_t' ( const float16_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_float16_t' ( const float16_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_float16_t' ( const float16_t)\n0:? 3.000000\n0:? 'uint64_t_to_float16_t' ( const float16_t)\n0:? 4.000000\n0:? 'float16_t_to_float16_t' ( const float16_t)\n0:? 42.000000\n0:? 'float32_t_to_float16_t' ( const float16_t)\n0:? 13.000000\n0:? 'float64_t_to_float16_t' ( const float16_t)\n0:? -4.000000\n0:? 'bool_to_float32_t' ( const float)\n0:? 1.000000\n0:? 'int8_t_to_float32_t' ( const float)\n0:? -1 (const int)\n0:? 'int16_t_to_float32_t' ( const float)\n0:? -2 (const int)\n0:? 'int32_t_to_float32_t' ( const float)\n0:? -3.000000\n0:? 'int64_t_to_float32_t' ( const float)\n0:? -4.000000\n0:? 'uint8_t_to_float32_t' ( const float)\n0:? 1 (const int)\n0:? 'uint16_t_to_float32_t' ( const float)\n0:? 2 (const int)\n0:? 'uint32_t_to_float32_t' ( const float)\n0:? 3.000000\n0:? 'uint64_t_to_float32_t' ( const float)\n0:? 4.000000\n0:? 'float16_t_to_float32_t' ( const float)\n0:? 42.000000\n0:? 'float32_t_to_float32_t' ( const float)\n0:? 13.000000\n0:? 'float64_t_to_float32_t' ( const float)\n0:? -4.000000\n0:? 'bool_to_float64_t' ( const double)\n0:? 1.000000\n0:? 'int8_t_to_float64_t' ( const double)\n0:? -1 (const int)\n0:? 'int16_t_to_float64_t' ( const double)\n0:? -2 (const int)\n0:? 'int32_t_to_float64_t' ( const double)\n0:? -3.000000\n0:? 'int64_t_to_float64_t' ( const double)\n0:? -4.000000\n0:? 'uint8_t_to_float64_t' ( const double)\n0:? 1 (const int)\n0:? 'uint16_t_to_float64_t' ( const double)\n0:? 2 (const int)\n0:? 'uint32_t_to_float64_t' ( const double)\n0:? 3.000000\n0:? 'uint64_t_to_float64_t' ( const double)\n0:? 4.000000\n0:? 'float16_t_to_float64_t' ( const double)\n0:? 42.000000\n0:? 'float32_t_to_float64_t' ( const double)\n0:? 13.000000\n0:? 'float64_t_to_float64_t' ( const double)\n0:? -4.000000\n\n"​

To be equal to: real​

Which is: "constantUnaryConversion.comp\nShader version: 450\nRequested GL_KHX_shader_explicit_arithmetic_types\nlocal_size = (1, 1, 1)\n0:? Sequence\n0:48 Function Definition: main( ( global void)\n0:48 Function Parameters: \n0:? Linker Objects\n0:? 'bool_init' ( const bool)\n0:? true (const bool)\n0:? 'int8_t_init' ( const int8_t)\n0:? -1 (const int)\n0:? 'int16_t_init' ( const int16_t)\n0:? -2 (const int)\n0:? 'int32_t_init' ( const int)\n0:? -3 (const int)\n0:? 'int64_t_init' ( const int64_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_init' ( const uint8_t)\n0:? 1 (const int)\n0:? 'uint16_t_init' ( const uint16_t)\n0:? 2 (const int)\n0:? 'uint32_t_init' ( const uint)\n0:? 3 (const uint)\n0:? 'uint64_t_init' ( const uint64_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_init' ( const float16_t)\n0:? 42.000000\n0:? 'float32_t_init' ( const float)\n0:? 13.000000\n0:? 'float64_t_init' ( const double)\n0:? -4.000000\n0:? 'bool_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'int8_t_to_bool' ( const bool)\n0:? -1 (const int)\n0:? 'int16_t_to_bool' ( const bool)\n0:? -2 (const int)\n0:? 'int32_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'int64_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'uint8_t_to_bool' ( const bool)\n0:? 1 (const int)\n0:? 'uint16_t_to_bool' ( const bool)\n0:? 2 (const int)\n0:? 'uint32_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'uint64_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'float16_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'float32_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'float64_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'bool_to_int8_t' ( const int8_t)\n0:? true (const bool)\n0:? 'int8_t_to_int8_t' ( const int8_t)\n0:? -1 (const int)\n0:? 'int16_t_to_int8_t' ( const int8_t)\n0:? -2 (const int)\n0:? 'int32_t_to_int8_t' ( const int8_t)\n0:? -3 (const int)\n0:? 'int64_t_to_int8_t' ( const int8_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_to_int8_t' ( const int8_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_int8_t' ( const int8_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_int8_t' ( const int8_t)\n0:? 3 (const uint)\n0:? 'uint64_t_to_int8_t' ( const int8_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_to_int8_t' ( const int8_t)\n0:? 42.000000\n0:? 'float32_t_to_int8_t' ( const int8_t)\n0:? 13.000000\n0:? 'float64_t_to_int8_t' ( const int8_t)\n0:? -4.000000\n0:? 'bool_to_int16_t' ( const int16_t)\n0:? true (const bool)\n0:? 'int8_t_to_int16_t' ( const int16_t)\n0:? -1 (const int)\n0:? 'int16_t_to_int16_t' ( const int16_t)\n0:? -2 (const int)\n0:? 'int32_t_to_int16_t' ( const int16_t)\n0:? -3 (const int)\n0:? 'int64_t_to_int16_t' ( const int16_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_to_int16_t' ( const int16_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_int16_t' ( const int16_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_int16_t' ( const int16_t)\n0:? 3 (const uint)\n0:? 'uint64_t_to_int16_t' ( const int16_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_to_int16_t' ( const int16_t)\n0:? 42.000000\n0:? 'float32_t_to_int16_t' ( const int16_t)\n0:? 13.000000\n0:? 'float64_t_to_int16_t' ( const int16_t)\n0:? -4.000000\n0:? 'bool_to_int32_t' ( const int)\n0:? 1 (const int)\n0:? 'int8_t_to_int32_t' ( const int)\n0:? -1 (const int)\n0:? 'int16_t_to_int32_t' ( const int)\n0:? -2 (const int)\n0:? 'int32_t_to_int32_t' ( const int)\n0:? -3 (const int)\n0:? 'int64_t_to_int32_t' ( const int)\n0:? -4 (const int)\n0:? 'uint8_t_to_int32_t' ( const int)\n0:? 1 (const int)\n0:? 'uint16_t_to_int32_t' ( const int)\n0:? 2 (const int)\n0:? 'uint32_t_to_int32_t' ( const int)\n0:? 3 (const int)\n0:? 'uint64_t_to_int32_t' ( const int)\n0:? 4 (const int)\n0:? 'float16_t_to_int32_t' ( const int)\n0:? 42 (const int)\n0:? 'float32_t_to_int32_t' ( const int)\n0:? 13 (const int)\n0:? 'float64_t_to_int32_t' ( const int)\n0:? -4 (const int)\n0:? 'bool_to_int64_t' ( const int64_t)\n0:? 1 (const int64_t)\n0:? 'int8_t_to_int64_t' ( const int64_t)\n0:? -1 (const int)\n0:? 'int16_t_to_int64_t' ( const int64_t)\n0:? -2 (const int)\n0:? 'int32_t_to_int64_t' ( const int64_t)\n0:? -3 (const int64_t)\n0:? 'int64_t_to_int64_t' ( const int64_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_to_int64_t' ( const int64_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_int64_t' ( const int64_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_int64_t' ( const int64_t)\n0:? 3 (const int64_t)\n0:? 'uint64_t_to_int64_t' ( const int64_t)\n0:? 4 (const int64_t)\n0:? 'float16_t_to_int64_t' ( const int64_t)\n0:? 42 (const int64_t)\n0:? 'float32_t_to_int64_t' ( const int64_t)\n0:? 13 (const int64_t)\n0:? 'float64_t_to_int64_t' ( const int64_t)\n0:? -4 (const int64_t)\n0:? 'bool_to_uint8_t' ( const uint8_t)\n0:? true (const bool)\n0:? 'int8_t_to_uint8_t' ( const uint8_t)\n0:? -1 (const int)\n0:? 'int16_t_to_uint8_t' ( const uint8_t)\n0:? -2 (const int)\n0:? 'int32_t_to_uint8_t' ( const uint8_t)\n0:? -3 (const int)\n0:? 'int64_t_to_uint8_t' ( const uint8_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_to_uint8_t' ( const uint8_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_uint8_t' ( const uint8_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_uint8_t' ( const uint8_t)\n0:? 3 (const uint)\n0:? 'uint64_t_to_uint8_t' ( const uint8_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_to_uint8_t' ( const uint8_t)\n0:? 42.000000\n0:? 'float32_t_to_uint8_t' ( const uint8_t)\n0:? 13.000000\n0:? 'float64_t_to_uint8_t' ( const uint8_t)\n0:? -4.000000\n0:? 'bool_to_uint16_t' ( const uint16_t)\n0:? true (const bool)\n0:? 'int8_t_to_uint16_t' ( const uint16_t)\n0:? -1 (const int)\n0:? 'int16_t_to_uint16_t' ( const uint16_t)\n0:? -2 (const int)\n0:? 'int32_t_to_uint16_t' ( const uint16_t)\n0:? -3 (const int)\n0:? 'int64_t_to_uint16_t' ( const uint16_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_to_uint16_t' ( const uint16_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_uint16_t' ( const uint16_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_uint16_t' ( const uint16_t)\n0:? 3 (const uint)\n0:? 'uint64_t_to_uint16_t' ( const uint16_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_to_uint16_t' ( const uint16_t)\n0:? 42.000000\n0:? 'float32_t_to_uint16_t' ( const uint16_t)\n0:? 13.000000\n0:? 'float64_t_to_uint16_t' ( const uint16_t)\n0:? -4.000000\n0:? 'bool_to_uint32_t' ( const uint)\n0:? 1 (const uint)\n0:? 'int8_t_to_uint32_t' ( const uint)\n0:? -1 (const int)\n0:? 'int16_t_to_uint32_t' ( const uint)\n0:? -2 (const int)\n0:? 'int32_t_to_uint32_t' ( const uint)\n0:? 4294967293 (const uint)\n0:? 'int64_t_to_uint32_t' ( const uint)\n0:? 4294967292 (const uint)\n0:? 'uint8_t_to_uint32_t' ( const uint)\n0:? 1 (const int)\n0:? 'uint16_t_to_uint32_t' ( const uint)\n0:? 2 (const int)\n0:? 'uint32_t_to_uint32_t' ( const uint)\n0:? 3 (const uint)\n0:? 'uint64_t_to_uint32_t' ( const uint)\n0:? 4 (const uint)\n0:? 'float16_t_to_uint32_t' ( const uint)\n0:? 42 (const uint)\n0:? 'float32_t_to_uint32_t' ( const uint)\n0:? 13 (const uint)\n0:? 'float64_t_to_uint32_t' ( const uint)\n0:? 4294967295 (const uint)\n0:? 'bool_to_uint64_t' ( const uint64_t)\n0:? 1 (const uint64_t)\n0:? 'int8_t_to_uint64_t' ( const uint64_t)\n0:? -1 (const int)\n0:? 'int16_t_to_uint64_t' ( const uint64_t)\n0:? -2 (const int)\n0:? 'int32_t_to_uint64_t' ( const uint64_t)\n0:? 18446744073709551613 (const uint64_t)\n0:? 'int64_t_to_uint64_t' ( const uint64_t)\n0:? 18446744073709551612 (const uint64_t)\n0:? 'uint8_t_to_uint64_t' ( const uint64_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_uint64_t' ( const uint64_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_uint64_t' ( const uint64_t)\n0:? 3 (const uint64_t)\n0:? 'uint64_t_to_uint64_t' ( const uint64_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_to_uint64_t' ( const uint64_t)\n0:? 42 (const uint64_t)\n0:? 'float32_t_to_uint64_t' ( const uint64_t)\n0:? 13 (const uint64_t)\n0:? 'float64_t_to_uint64_t' ( const uint64_t)\n0:? 18446744073709551615 (const uint64_t)\n0:? 'bool_to_float16_t' ( const float16_t)\n0:? 1.000000\n0:? 'int8_t_to_float16_t' ( const float16_t)\n0:? -1 (const int)\n0:? 'int16_t_to_float16_t' ( const float16_t)\n0:? -2 (const int)\n0:? 'int32_t_to_float16_t' ( const float16_t)\n0:? -3.000000\n0:? 'int64_t_to_float16_t' ( const float16_t)\n0:? -4.000000\n0:? 'uint8_t_to_float16_t' ( const float16_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_float16_t' ( const float16_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_float16_t' ( const float16_t)\n0:? 3.000000\n0:? 'uint64_t_to_float16_t' ( const float16_t)\n0:? 4.000000\n0:? 'float16_t_to_float16_t' ( const float16_t)\n0:? 42.000000\n0:? 'float32_t_to_float16_t' ( const float16_t)\n0:? 13.000000\n0:? 'float64_t_to_float16_t' ( const float16_t)\n0:? -4.000000\n0:? 'bool_to_float32_t' ( const float)\n0:? 1.000000\n0:? 'int8_t_to_float32_t' ( const float)\n0:? -1 (const int)\n0:? 'int16_t_to_float32_t' ( const float)\n0:? -2 (const int)\n0:? 'int32_t_to_float32_t' ( const float)\n0:? -3.000000\n0:? 'int64_t_to_float32_t' ( const float)\n0:? -4.000000\n0:? 'uint8_t_to_float32_t' ( const float)\n0:? 1 (const int)\n0:? 'uint16_t_to_float32_t' ( const float)\n0:? 2 (const int)\n0:? 'uint32_t_to_float32_t' ( const float)\n0:? 3.000000\n0:? 'uint64_t_to_float32_t' ( const float)\n0:? 4.000000\n0:? 'float16_t_to_float32_t' ( const float)\n0:? 42.000000\n0:? 'float32_t_to_float32_t' ( const float)\n0:? 13.000000\n0:? 'float64_t_to_float32_t' ( const float)\n0:? -4.000000\n0:? 'bool_to_float64_t' ( const double)\n0:? 1.000000\n0:? 'int8_t_to_float64_t' ( const double)\n0:? -1 (const int)\n0:? 'int16_t_to_float64_t' ( const double)\n0:? -2 (const int)\n0:? 'int32_t_to_float64_t' ( const double)\n0:? -3.000000\n0:? 'int64_t_to_float64_t' ( const double)\n0:? -4.000000\n0:? 'uint8_t_to_float64_t' ( const double)\n0:? 1 (const int)\n0:? 'uint16_t_to_float64_t' ( const double)\n0:? 2 (const int)\n0:? 'uint32_t_to_float64_t' ( const double)\n0:? 3.000000\n0:? 'uint64_t_to_float64_t' ( const double)\n0:? 4.000000\n0:? 'float16_t_to_float64_t' ( const double)\n0:? 42.000000\n0:? 'float32_t_to_float64_t' ( const double)\n0:? 13.000000\n0:? 'float64_t_to_float64_t' ( const double)\n0:? -4.000000\n\n\nLinked compute stage:\n\n\nShader version: 450\nRequested GL_KHX_shader_explicit_arithmetic_types\nlocal_size = (1, 1, 1)\n0:? Sequence\n0:48 Function Definition: main( ( global void)\n0:48 Function Parameters: \n0:? Linker Objects\n0:? 'bool_init' ( const bool)\n0:? true (const bool)\n0:? 'int8_t_init' ( const int8_t)\n0:? -1 (const int)\n0:? 'int16_t_init' ( const int16_t)\n0:? -2 (const int)\n0:? 'int32_t_init' ( const int)\n0:? -3 (const int)\n0:? 'int64_t_init' ( const int64_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_init' ( const uint8_t)\n0:? 1 (const int)\n0:? 'uint16_t_init' ( const uint16_t)\n0:? 2 (const int)\n0:? 'uint32_t_init' ( const uint)\n0:? 3 (const uint)\n0:? 'uint64_t_init' ( const uint64_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_init' ( const float16_t)\n0:? 42.000000\n0:? 'float32_t_init' ( const float)\n0:? 13.000000\n0:? 'float64_t_init' ( const double)\n0:? -4.000000\n0:? 'bool_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'int8_t_to_bool' ( const bool)\n0:? -1 (const int)\n0:? 'int16_t_to_bool' ( const bool)\n0:? -2 (const int)\n0:? 'int32_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'int64_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'uint8_t_to_bool' ( const bool)\n0:? 1 (const int)\n0:? 'uint16_t_to_bool' ( const bool)\n0:? 2 (const int)\n0:? 'uint32_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'uint64_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'float16_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'float32_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'float64_t_to_bool' ( const bool)\n0:? true (const bool)\n0:? 'bool_to_int8_t' ( const int8_t)\n0:? true (const bool)\n0:? 'int8_t_to_int8_t' ( const int8_t)\n0:? -1 (const int)\n0:? 'int16_t_to_int8_t' ( const int8_t)\n0:? -2 (const int)\n0:? 'int32_t_to_int8_t' ( const int8_t)\n0:? -3 (const int)\n0:? 'int64_t_to_int8_t' ( const int8_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_to_int8_t' ( const int8_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_int8_t' ( const int8_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_int8_t' ( const int8_t)\n0:? 3 (const uint)\n0:? 'uint64_t_to_int8_t' ( const int8_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_to_int8_t' ( const int8_t)\n0:? 42.000000\n0:? 'float32_t_to_int8_t' ( const int8_t)\n0:? 13.000000\n0:? 'float64_t_to_int8_t' ( const int8_t)\n0:? -4.000000\n0:? 'bool_to_int16_t' ( const int16_t)\n0:? true (const bool)\n0:? 'int8_t_to_int16_t' ( const int16_t)\n0:? -1 (const int)\n0:? 'int16_t_to_int16_t' ( const int16_t)\n0:? -2 (const int)\n0:? 'int32_t_to_int16_t' ( const int16_t)\n0:? -3 (const int)\n0:? 'int64_t_to_int16_t' ( const int16_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_to_int16_t' ( const int16_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_int16_t' ( const int16_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_int16_t' ( const int16_t)\n0:? 3 (const uint)\n0:? 'uint64_t_to_int16_t' ( const int16_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_to_int16_t' ( const int16_t)\n0:? 42.000000\n0:? 'float32_t_to_int16_t' ( const int16_t)\n0:? 13.000000\n0:? 'float64_t_to_int16_t' ( const int16_t)\n0:? -4.000000\n0:? 'bool_to_int32_t' ( const int)\n0:? 1 (const int)\n0:? 'int8_t_to_int32_t' ( const int)\n0:? -1 (const int)\n0:? 'int16_t_to_int32_t' ( const int)\n0:? -2 (const int)\n0:? 'int32_t_to_int32_t' ( const int)\n0:? -3 (const int)\n0:? 'int64_t_to_int32_t' ( const int)\n0:? -4 (const int)\n0:? 'uint8_t_to_int32_t' ( const int)\n0:? 1 (const int)\n0:? 'uint16_t_to_int32_t' ( const int)\n0:? 2 (const int)\n0:? 'uint32_t_to_int32_t' ( const int)\n0:? 3 (const int)\n0:? 'uint64_t_to_int32_t' ( const int)\n0:? 4 (const int)\n0:? 'float16_t_to_int32_t' ( const int)\n0:? 42 (const int)\n0:? 'float32_t_to_int32_t' ( const int)\n0:? 13 (const int)\n0:? 'float64_t_to_int32_t' ( const int)\n0:? -4 (const int)\n0:? 'bool_to_int64_t' ( const int64_t)\n0:? 1 (const int64_t)\n0:? 'int8_t_to_int64_t' ( const int64_t)\n0:? -1 (const int)\n0:? 'int16_t_to_int64_t' ( const int64_t)\n0:? -2 (const int)\n0:? 'int32_t_to_int64_t' ( const int64_t)\n0:? -3 (const int64_t)\n0:? 'int64_t_to_int64_t' ( const int64_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_to_int64_t' ( const int64_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_int64_t' ( const int64_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_int64_t' ( const int64_t)\n0:? 3 (const int64_t)\n0:? 'uint64_t_to_int64_t' ( const int64_t)\n0:? 4 (const int64_t)\n0:? 'float16_t_to_int64_t' ( const int64_t)\n0:? 42 (const int64_t)\n0:? 'float32_t_to_int64_t' ( const int64_t)\n0:? 13 (const int64_t)\n0:? 'float64_t_to_int64_t' ( const int64_t)\n0:? -4 (const int64_t)\n0:? 'bool_to_uint8_t' ( const uint8_t)\n0:? true (const bool)\n0:? 'int8_t_to_uint8_t' ( const uint8_t)\n0:? -1 (const int)\n0:? 'int16_t_to_uint8_t' ( const uint8_t)\n0:? -2 (const int)\n0:? 'int32_t_to_uint8_t' ( const uint8_t)\n0:? -3 (const int)\n0:? 'int64_t_to_uint8_t' ( const uint8_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_to_uint8_t' ( const uint8_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_uint8_t' ( const uint8_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_uint8_t' ( const uint8_t)\n0:? 3 (const uint)\n0:? 'uint64_t_to_uint8_t' ( const uint8_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_to_uint8_t' ( const uint8_t)\n0:? 42.000000\n0:? 'float32_t_to_uint8_t' ( const uint8_t)\n0:? 13.000000\n0:? 'float64_t_to_uint8_t' ( const uint8_t)\n0:? -4.000000\n0:? 'bool_to_uint16_t' ( const uint16_t)\n0:? true (const bool)\n0:? 'int8_t_to_uint16_t' ( const uint16_t)\n0:? -1 (const int)\n0:? 'int16_t_to_uint16_t' ( const uint16_t)\n0:? -2 (const int)\n0:? 'int32_t_to_uint16_t' ( const uint16_t)\n0:? -3 (const int)\n0:? 'int64_t_to_uint16_t' ( const uint16_t)\n0:? -4 (const int64_t)\n0:? 'uint8_t_to_uint16_t' ( const uint16_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_uint16_t' ( const uint16_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_uint16_t' ( const uint16_t)\n0:? 3 (const uint)\n0:? 'uint64_t_to_uint16_t' ( const uint16_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_to_uint16_t' ( const uint16_t)\n0:? 42.000000\n0:? 'float32_t_to_uint16_t' ( const uint16_t)\n0:? 13.000000\n0:? 'float64_t_to_uint16_t' ( const uint16_t)\n0:? -4.000000\n0:? 'bool_to_uint32_t' ( const uint)\n0:? 1 (const uint)\n0:? 'int8_t_to_uint32_t' ( const uint)\n0:? -1 (const int)\n0:? 'int16_t_to_uint32_t' ( const uint)\n0:? -2 (const int)\n0:? 'int32_t_to_uint32_t' ( const uint)\n0:? 4294967293 (const uint)\n0:? 'int64_t_to_uint32_t' ( const uint)\n0:? 4294967292 (const uint)\n0:? 'uint8_t_to_uint32_t' ( const uint)\n0:? 1 (const int)\n0:? 'uint16_t_to_uint32_t' ( const uint)\n0:? 2 (const int)\n0:? 'uint32_t_to_uint32_t' ( const uint)\n0:? 3 (const uint)\n0:? 'uint64_t_to_uint32_t' ( const uint)\n0:? 4 (const uint)\n0:? 'float16_t_to_uint32_t' ( const uint)\n0:? 42 (const uint)\n0:? 'float32_t_to_uint32_t' ( const uint)\n0:? 13 (const uint)\n0:? 'float64_t_to_uint32_t' ( const uint)\n0:? 4294967295 (const uint)\n0:? 'bool_to_uint64_t' ( const uint64_t)\n0:? 1 (const uint64_t)\n0:? 'int8_t_to_uint64_t' ( const uint64_t)\n0:? -1 (const int)\n0:? 'int16_t_to_uint64_t' ( const uint64_t)\n0:? -2 (const int)\n0:? 'int32_t_to_uint64_t' ( const uint64_t)\n0:? 18446744073709551613 (const uint64_t)\n0:? 'int64_t_to_uint64_t' ( const uint64_t)\n0:? 18446744073709551612 (const uint64_t)\n0:? 'uint8_t_to_uint64_t' ( const uint64_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_uint64_t' ( const uint64_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_uint64_t' ( const uint64_t)\n0:? 3 (const uint64_t)\n0:? 'uint64_t_to_uint64_t' ( const uint64_t)\n0:? 4 (const uint64_t)\n0:? 'float16_t_to_uint64_t' ( const uint64_t)\n0:? 42 (const uint64_t)\n0:? 'float32_t_to_uint64_t' ( const uint64_t)\n0:? 13 (const uint64_t)\n0:? 'float64_t_to_uint64_t' ( const uint64_t)\n0:? 18446744073709551615 (const uint64_t)\n0:? 'bool_to_float16_t' ( const float16_t)\n0:? 1.000000\n0:? 'int8_t_to_float16_t' ( const float16_t)\n0:? -1 (const int)\n0:? 'int16_t_to_float16_t' ( const float16_t)\n0:? -2 (const int)\n0:? 'int32_t_to_float16_t' ( const float16_t)\n0:? -3.000000\n0:? 'int64_t_to_float16_t' ( const float16_t)\n0:? -4.000000\n0:? 'uint8_t_to_float16_t' ( const float16_t)\n0:? 1 (const int)\n0:? 'uint16_t_to_float16_t' ( const float16_t)\n0:? 2 (const int)\n0:? 'uint32_t_to_float16_t' ( const float16_t)\n0:? 3.000000\n0:? 'uint64_t_to_float16_t' ( const float16_t)\n0:? 4.000000\n0:? 'float16_t_to_float16_t' ( const float16_t)\n0:? 42.000000\n0:? 'float32_t_to_float16_t' ( const float16_t)\n0:? 13.000000\n0:? 'float64_t_to_float16_t' ( const float16_t)\n0:? -4.000000\n0:? 'bool_to_float32_t' ( const float)\n0:? 1.000000\n0:? 'int8_t_to_float32_t' ( const float)\n0:? -1 (const int)\n0:? 'int16_t_to_float32_t' ( const float)\n0:? -2 (const int)\n0:? 'int32_t_to_float32_t' ( const float)\n0:? -3.000000\n0:? 'int64_t_to_float32_t' ( const float)\n0:? -4.000000\n0:? 'uint8_t_to_float32_t' ( const float)\n0:? 1 (const int)\n0:? 'uint16_t_to_float32_t' ( const float)\n0:? 2 (const int)\n0:? 'uint32_t_to_float32_t' ( const float)\n0:? 3.000000\n0:? 'uint64_t_to_float32_t' ( const float)\n0:? 4.000000\n0:? 'float16_t_to_float32_t' ( const float)\n0:? 42.000000\n0:? 'float32_t_to_float32_t' ( const float)\n0:? 13.000000\n0:? 'float64_t_to_float32_t' ( const float)\n0:? -4.000000\n0:? 'bool_to_float64_t' ( const double)\n0:? 1.000000\n0:? 'int8_t_to_float64_t' ( const double)\n0:? -1 (const int)\n0:? 'int16_t_to_float64_t' ( const double)\n0:? -2 (const int)\n0:? 'int32_t_to_float64_t' ( const double)\n0:? -3.000000\n0:? 'int64_t_to_float64_t' ( const double)\n0:? -4.000000\n0:? 'uint8_t_to_float64_t' ( const double)\n0:? 1 (const int)\n0:? 'uint16_t_to_float64_t' ( const double)\n0:? 2 (const int)\n0:? 'uint32_t_to_float64_t' ( const double)\n0:? 3.000000\n0:? 'uint64_t_to_float64_t' ( const double)\n0:? 4.000000\n0:? 'float16_t_to_float64_t' ( const double)\n0:? 42.000000\n0:? 'float32_t_to_float64_t' ( const double)\n0:? 13.000000\n0:? 'float64_t_to_float64_t' ( const double)\n0:? -4.000000\n\n"​

With diff:​

@@ -222,5 +222,5 @@​

0:? 13 (const uint)​

0:? 'float64_t_to_uint32_t' ( const uint)​

-0:? 4294967292 (const uint)​

+0:? 4294967295 (const uint)​

0:? 'bool_to_uint64_t' ( const uint64_t)​

0:? 1 (const uint64_t)​

@@ -246,5 +246,5 @@​

0:? 13 (const uint64_t)​

0:? 'float64_t_to_uint64_t' ( const uint64_t)​

-0:? 18446744073709551612 (const uint64_t)​

+0:? 18446744073709551615 (const uint64_t)​

0:? 'bool_to_float16_t' ( const float16_t)​

0:? 1.000000​

@@ -546,5 +546,5 @@​

0:? 13 (const uint)​

0:? 'float64_t_to_uint32_t' ( const uint)​

-0:? 4294967292 (const uint)​

+0:? 4294967295 (const uint)​

0:? 'bool_to_uint64_t' ( const uint64_t)​

0:? 1 (const uint64_t)​

@@ -570,5 +570,5 @@​

0:? 13 (const uint64_t)​

0:? 'float64_t_to_uint64_t' ( const uint64_t)​

-0:? 18446744073709551612 (const uint64_t)​

+0:? 18446744073709551615 (const uint64_t)​

0:? 'bool_to_float16_t' ( const float16_t)​

0:? 1.000000​

[ FAILED ] Glsl/CompileToAstTest.FromFile/constantUnaryConversion_comp, where GetParam() = "constantUnaryConversion.comp" (18 ms)​
[----------] 166 tests from Glsl/CompileToAstTest (1013 ms total)

Contributor guide

Open the contributing guide

Research direction

Reproduce the failure using the listed Visual Studio, CMake, and MSBuild steps, then run the filtered constantUnaryConversion_comp test. Start with gtests/TestFixture.h and the test output in log_x86_test.log; compare the MSVC x86 result with the expected conversion output. Done means the test has defined, consistent behavior on this configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.