1*5bf81e53SYunQiang Su // RUN: not %clang_cc1 -triple x86_64 %s -fsyntax-only -verify 2>&1 | FileCheck %s --check-prefix=CHECK-ERR 2*5bf81e53SYunQiang Su 3*5bf81e53SYunQiang Su float fminimum_numf (float, float); 4*5bf81e53SYunQiang Su double fminimum_num (double, double); 5*5bf81e53SYunQiang Su long double fminimum_numl (long double, long double); 6*5bf81e53SYunQiang Su float fmaximum_numf (float, float); 7*5bf81e53SYunQiang Su double fmaximum_num (double, double); 8*5bf81e53SYunQiang Su long double fmaximum_numl (long double, long double); 9*5bf81e53SYunQiang Su 10*5bf81e53SYunQiang Su // CHECK-ERR: passing 'char *' to parameter of incompatible type 'float' 11*5bf81e53SYunQiang Su float fmin1(char *a, char *b) { 12*5bf81e53SYunQiang Su return fminimum_numf(a, b); 13*5bf81e53SYunQiang Su } 14*5bf81e53SYunQiang Su // CHECK-ERR: passing 'char *' to parameter of incompatible type 'double' 15*5bf81e53SYunQiang Su float fmin2(char *a, char *b) { 16*5bf81e53SYunQiang Su return fminimum_num(a, b); 17*5bf81e53SYunQiang Su } 18*5bf81e53SYunQiang Su // CHECK-ERR: passing 'char *' to parameter of incompatible type 'long double' 19*5bf81e53SYunQiang Su float fmin3(char *a, char *b) { 20*5bf81e53SYunQiang Su return fminimum_numl(a, b); 21*5bf81e53SYunQiang Su } 22*5bf81e53SYunQiang Su // CHECK-ERR: passing 'char *' to parameter of incompatible type 'float' 23*5bf81e53SYunQiang Su float fmax1(char *a, char *b) { 24*5bf81e53SYunQiang Su return fmaximum_numf(a, b); 25*5bf81e53SYunQiang Su } 26*5bf81e53SYunQiang Su // CHECK-ERR: passing 'char *' to parameter of incompatible type 'double' 27*5bf81e53SYunQiang Su float fmax2(char *a, char *b) { 28*5bf81e53SYunQiang Su return fmaximum_num(a, b); 29*5bf81e53SYunQiang Su } 30*5bf81e53SYunQiang Su // CHECK-ERR: passing 'char *' to parameter of incompatible type 'long double' 31*5bf81e53SYunQiang Su float fmax3(char *a, char *b) { 32*5bf81e53SYunQiang Su return fmaximum_numl(a, b); 33*5bf81e53SYunQiang Su } 34