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