1 | // RUN: %clang_cc1 -triple powerpc64-unknown-linux-gnu -emit-llvm < %s | FileCheck %s |
2 | |
3 | int isalnum(int); |
4 | int isalpha(int); |
5 | int isblank(int); |
6 | int iscntrl(int); |
7 | int isdigit(int); |
8 | int isgraph(int); |
9 | int islower(int); |
10 | int isprint(int); |
11 | int ispunct(int); |
12 | int isspace(int); |
13 | int isupper(int); |
14 | int isxdigit(int); |
15 | int tolower(int); |
16 | int toupper(int); |
17 | |
18 | void test(int x) { |
19 | // CHECK: call signext i32 @isalnum(i32 signext {{%[0-9]+}}) [[NUW_RO_CALL:#[0-9]+]] |
20 | (void)isalnum(x); |
21 | // CHECK: call signext i32 @isalpha(i32 signext {{%[0-9]+}}) [[NUW_RO_CALL:#[0-9]+]] |
22 | (void)isalpha(x); |
23 | // CHECK: call signext i32 @isblank(i32 signext {{%[0-9]+}}) [[NUW_RO_CALL:#[0-9]+]] |
24 | (void)isblank(x); |
25 | // CHECK: call signext i32 @iscntrl(i32 signext {{%[0-9]+}}) [[NUW_RO_CALL:#[0-9]+]] |
26 | (void)iscntrl(x); |
27 | // CHECK: call signext i32 @isdigit(i32 signext {{%[0-9]+}}) [[NUW_RO_CALL:#[0-9]+]] |
28 | (void)isdigit(x); |
29 | // CHECK: call signext i32 @isgraph(i32 signext {{%[0-9]+}}) [[NUW_RO_CALL:#[0-9]+]] |
30 | (void)isgraph(x); |
31 | // CHECK: call signext i32 @islower(i32 signext {{%[0-9]+}}) [[NUW_RO_CALL:#[0-9]+]] |
32 | (void)islower(x); |
33 | // CHECK: call signext i32 @isprint(i32 signext {{%[0-9]+}}) [[NUW_RO_CALL:#[0-9]+]] |
34 | (void)isprint(x); |
35 | // CHECK: call signext i32 @ispunct(i32 signext {{%[0-9]+}}) [[NUW_RO_CALL:#[0-9]+]] |
36 | (void)ispunct(x); |
37 | // CHECK: call signext i32 @isspace(i32 signext {{%[0-9]+}}) [[NUW_RO_CALL:#[0-9]+]] |
38 | (void)isspace(x); |
39 | // CHECK: call signext i32 @isupper(i32 signext {{%[0-9]+}}) [[NUW_RO_CALL:#[0-9]+]] |
40 | (void)isupper(x); |
41 | // CHECK: call signext i32 @isxdigit(i32 signext {{%[0-9]+}}) [[NUW_RO_CALL:#[0-9]+]] |
42 | (void)isxdigit(x); |
43 | // CHECK: call signext i32 @tolower(i32 signext {{%[0-9]+}}) [[NUW_RO_CALL:#[0-9]+]] |
44 | (void)tolower(x); |
45 | // CHECK: call signext i32 @toupper(i32 signext {{%[0-9]+}}) [[NUW_RO_CALL:#[0-9]+]] |
46 | (void)toupper(x); |
47 | } |
48 | |
49 | // CHECK: declare signext i32 @isalnum(i32 signext) [[NUW_RO:#[0-9]+]] |
50 | // CHECK: declare signext i32 @isalpha(i32 signext) [[NUW_RO:#[0-9]+]] |
51 | // CHECK: declare signext i32 @isblank(i32 signext) [[NUW_RO:#[0-9]+]] |
52 | // CHECK: declare signext i32 @iscntrl(i32 signext) [[NUW_RO:#[0-9]+]] |
53 | // CHECK: declare signext i32 @isdigit(i32 signext) [[NUW_RO:#[0-9]+]] |
54 | // CHECK: declare signext i32 @isgraph(i32 signext) [[NUW_RO:#[0-9]+]] |
55 | // CHECK: declare signext i32 @islower(i32 signext) [[NUW_RO:#[0-9]+]] |
56 | // CHECK: declare signext i32 @isprint(i32 signext) [[NUW_RO:#[0-9]+]] |
57 | // CHECK: declare signext i32 @ispunct(i32 signext) [[NUW_RO:#[0-9]+]] |
58 | // CHECK: declare signext i32 @isspace(i32 signext) [[NUW_RO:#[0-9]+]] |
59 | // CHECK: declare signext i32 @isupper(i32 signext) [[NUW_RO:#[0-9]+]] |
60 | // CHECK: declare signext i32 @isxdigit(i32 signext) [[NUW_RO:#[0-9]+]] |
61 | // CHECK: declare signext i32 @tolower(i32 signext) [[NUW_RO:#[0-9]+]] |
62 | // CHECK: declare signext i32 @toupper(i32 signext) [[NUW_RO:#[0-9]+]] |
63 | |
64 | // CHECK: attributes [[NUW_RO]] = { nounwind readonly{{.*}} } |
65 | // CHECK: attributes [[NUW_RO_CALL]] = { nounwind readonly } |
66 | |