1*67e74705SXin Li // RUN: %clang %s -O0 -emit-llvm -S -o - | FileCheck %s 2*67e74705SXin Li 3*67e74705SXin Li // This should call rb_define_global_function, not rb_f_chop. 4*67e74705SXin Li void rb_define_global_function (const char*,void(*)(),int); 5*67e74705SXin Li static void rb_f_chop(); Init_String()6*67e74705SXin Livoid Init_String() { 7*67e74705SXin Li rb_define_global_function("chop", rb_f_chop, 0); 8*67e74705SXin Li } rb_f_chop()9*67e74705SXin Listatic void rb_f_chop() { 10*67e74705SXin Li } 11*67e74705SXin Li 12*67e74705SXin Li // CHECK: call{{.*}}rb_define_global_function 13*67e74705SXin Li 14*67e74705SXin Li // PR10335 15*67e74705SXin Li typedef void (* JSErrorCallback)(void); 16*67e74705SXin Li void js_GetErrorMessage(void); 17*67e74705SXin Li void JS_ReportErrorNumber(JSErrorCallback errorCallback, ...); Interpret()18*67e74705SXin Livoid Interpret() { 19*67e74705SXin Li JS_ReportErrorNumber(js_GetErrorMessage, 0); 20*67e74705SXin Li 21*67e74705SXin Li // CHECK: call {{.*}}void ({{.*}}, ...) @JS_ReportErrorNumber({{.*}}@js_GetErrorMessage 22*67e74705SXin Li } 23*67e74705SXin Li 24*67e74705SXin Li 25*67e74705SXin Li 26*67e74705SXin Li 27*67e74705SXin Li // PR10337 28*67e74705SXin Li struct sigaction { int (*_sa_handler)(int); }; 29*67e74705SXin Li typedef int SigHandler (); 30*67e74705SXin Li typedef struct sigaction sighandler_cxt; rl_set_sighandler(ohandler)31*67e74705SXin LiSigHandler *rl_set_sighandler(ohandler) 32*67e74705SXin Li sighandler_cxt *ohandler; { 33*67e74705SXin Li return 0; 34*67e74705SXin Li } 35*67e74705SXin Li rl_set_signals()36*67e74705SXin Livoid rl_set_signals() { 37*67e74705SXin Li SigHandler *oh; 38*67e74705SXin Li oh = rl_set_sighandler(0); 39*67e74705SXin Li } 40