yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
ab89bbe7
main
1#version 400 core 2 3in double d ;// ERROR, no doubles 4in dvec3 d3 ;// ERROR, no doubles 5in dmat4 dm4 ;// ERROR, no doubles 6 7// function selection under type conversion 8void foo1 (double a ,uint b ) {} 9void foo1 (double a ,int b ) {} 10void foo1 (double a ,float b ) {} 11void foo1 (double a ,double b ){} 12 13void foo2 (double a ,float b ) {} 14void foo2 (double a ,double b ){} 15 16void foo3 (double a ,float b ) {} 17void foo3 (float a ,double b ) {} 18 19void ftd (int ,float ,double ) {} 20void ftd (uint ,float ,double ) {} 21void ftd (float ,double ,double ) {} 22 23void main () 24{ 25double d ; 26uint u ; 27int i ; 28float f ; 29 30foo1 (d ,d ); 31foo1 (d ,u ); 32foo1 (d ,i ); 33foo1 (d ,f ); 34 35foo1 (f ,d ); 36foo1 (f ,u ); 37foo1 (f ,i ); 38foo1 (f ,f ); 39 40foo1 (u ,d ); 41foo1 (u ,u ); 42foo1 (u ,i ); 43foo1 (u ,f ); 44 45foo1 (i ,d ); 46foo1 (i ,u ); 47foo1 (i ,i ); 48foo1 (i ,f ); 49 50foo2 (d ,d ); 51foo2 (d ,u ); 52foo2 (d ,i ); 53foo2 (d ,f ); 54 55foo2 (f ,d ); 56foo2 (f ,u ); 57foo2 (f ,i ); 58foo2 (f ,f ); 59 60foo2 (u ,d ); 61foo2 (u ,u ); 62foo2 (u ,i ); 63foo2 (u ,f ); 64 65foo2 (i ,d ); 66foo2 (i ,u ); 67foo2 (i ,i ); 68foo2 (i ,f ); 69 70foo3 (d ,d );// ERROR, no match 71foo3 (d ,u ); 72foo3 (d ,i ); 73foo3 (d ,f ); 74 75foo3 (f ,d ); 76foo3 (f ,u );// ERROR, ambiguous 77foo3 (f ,i );// ERROR, ambiguous 78foo3 (f ,f );// ERROR, ambiguous 79 80foo3 (u ,d ); 81foo3 (u ,u );// ERROR, ambiguous 82foo3 (u ,i );// ERROR, ambiguous 83foo3 (u ,f );// ERROR, ambiguous 84 85foo3 (i ,d ); 86foo3 (i ,u );// ERROR, ambiguous 87foo3 (i ,i );// ERROR, ambiguous 88foo3 (i ,f );// ERROR, ambiguous 89 90ftd (i ,f ,f ); 91ftd (u ,f ,f ); 92} 93 94void itf (int ,float ,int ); 95void itf (int ,double ,int ); 96 97void tf () 98{ 99double d ; 100uint u ; 101int i ; 102float f ; 103 104itf (i ,i ,i ); 105itf (i ,u ,i ); 106}