xref: /aosp_15_r20/external/clang/test/CodeGen/call.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
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 Li void Init_String() {
7*67e74705SXin Li   rb_define_global_function("chop", rb_f_chop, 0);
8*67e74705SXin Li }
rb_f_chop()9*67e74705SXin Li static 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 Li void 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 Li SigHandler *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 Li void rl_set_signals() {
37*67e74705SXin Li   SigHandler *oh;
38*67e74705SXin Li   oh = rl_set_sighandler(0);
39*67e74705SXin Li }
40