xref: /llvm-project/compiler-rt/test/BlocksRuntime/returnfunctionptr.c (revision 2946cd701067404b99c39fb29dc9c74bd7193eb3)
1 //
2 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
3 // See https://llvm.org/LICENSE.txt for license information.
4 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
5 
6 
7 // CONFIG  rdar://6339747 but wasn't
8 
9 #include <stdio.h>
10 
11 int (*funcptr)(long);
12 
13 int (*(^b)(char))(long);
14 
main(int argc,char * argv[])15 int main(int argc, char *argv[])  {
16 	// implicit is fine
17 	b = ^(char x) { return funcptr; };
18 	// explicit never parses
19 	b = ^int (*(char x))(long) { return funcptr; };
20         printf("%s: Success\n", argv[0]);
21         return 0;
22 }
23