Changing overload rules to match C++ behavior: Emit a warning when the best overload match has some number of no-best matching parameters.
This commit is contained in:
@@ -16,7 +16,7 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
else
|
||||
x[a][b-1] = 1;
|
||||
|
||||
a = min(a, 46);
|
||||
a = min(a, 46.f);
|
||||
|
||||
RET[programIndex] = x[3][a];
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
for (uniform int j = 0; j < 47; ++j)
|
||||
x[i][j] = 2+b-5;
|
||||
|
||||
a = min(a,46);
|
||||
a = min(a,46.f);
|
||||
x[a][b-1] = 0;
|
||||
RET[programIndex] = x[2][a];
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
|
||||
uniform int index[4] = { 0, 1, 2, 4 };
|
||||
float v = index[programIndex & 0x3];
|
||||
x[min(a,39)][v] = 0;
|
||||
x[min(a,39.f)][v] = 0;
|
||||
RET[programIndex] = x[v+1][v];
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ export uniform int width() { return programCount; }
|
||||
|
||||
export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
float a = 1. / aFOO[programIndex];
|
||||
RET[programIndex] = max(0, a);
|
||||
RET[programIndex] = max(0.f, a);
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
|
||||
@@ -16,7 +16,7 @@ export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
uniform FuncType func[] = { bar, foo };
|
||||
float a = aFOO[programIndex];
|
||||
float b = aFOO[0]-1; // == 0
|
||||
func[min(a, 0)] = foo;
|
||||
func[min(a, 0.f)] = foo;
|
||||
RET[programIndex] = func[0](a, b);
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ export void f_f(uniform float RET[], uniform float aFOO[]) {
|
||||
encore:
|
||||
++RET[programIndex];
|
||||
if (any(a != 0)) {
|
||||
a = max(a-1, 0);
|
||||
a = max(a-1, 0.f);
|
||||
goto encore;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ export uniform int width() { return programCount; }
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
float a = aFOO[programIndex];
|
||||
RET[programIndex] = max(3 * a, 10.f);
|
||||
RET[width()-1] = max(b, 100);
|
||||
RET[width()-1] = max(b, 100.f);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ export uniform int width() { return programCount; }
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
float a = aFOO[programIndex];
|
||||
RET[programIndex] = max(-10 * (a-3), .1f);
|
||||
RET[width() - 1] = max(-10 * b, 2);
|
||||
RET[width() - 1] = max(-10 * b, 2.f);
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
|
||||
@@ -6,7 +6,7 @@ export uniform int width() { return programCount; }
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
float a = aFOO[programIndex];
|
||||
RET[programIndex] = min(3 * a, 10.f);
|
||||
RET[width()-1] = min(b, 100);
|
||||
RET[width()-1] = min(b, 100.f);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ export uniform int width() { return programCount; }
|
||||
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
float a = aFOO[programIndex];
|
||||
RET[programIndex] = min(-10 * (a-3), .1f);
|
||||
RET[width() - 1] = min(-10 * b, 2);
|
||||
RET[width() - 1] = min(-10 * b, 2.f);
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) {
|
||||
|
||||
@@ -19,7 +19,7 @@ export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||
for (uniform int i = 0; i < 16; ++i)
|
||||
for (uniform int j = 0; j < 16; ++j)
|
||||
bar.foo[i].x[j] = b;
|
||||
RET[programIndex] = bar.foo[min(15, a-1)].x[min(15, a-1)];
|
||||
RET[programIndex] = bar.foo[min(15.f, a-1)].x[min(15.f, a-1)];
|
||||
}
|
||||
|
||||
export void result(uniform float RET[]) { RET[programIndex] = 5; }
|
||||
|
||||
Reference in New Issue
Block a user