When declaring functions only differing by their return type,
diagnostic was indicating "conflicting types for" the function.
Similarly to c++, it is now indicating that "functions that differ
only in their return type cannot be overloaded".
For this code example:
float test (float p) {return 2.;} double test (float p) {return 2.;}
This is changing this diagnostic:
tmp.cl:5:37: error: conflicting types for 'tee' float __attribute__((overloadable)) test (float p) {return 2.;} ^ tmp.cl:4:38: note: previous definition is here double __attribute__((overloadable)) test (float p) {return 2.;} ^ 1 error generated.
To this:
tmp.cl:5:37: error: functions that differ only in their return type cannot be overloaded float __attribute__((overloadable)) test (float p) {return 2.;} ~~~~~ ^ 1 error generated.
This should maybe be extended to other languages.