111
|
1 /* { dg-do run } */
|
|
2 /* { dg-options "-O1 -fdump-tree-original" } */
|
|
3
|
|
4 char *buffer1;
|
|
5 char *buffer2;
|
|
6
|
|
7 #define SIZE 1000
|
|
8
|
|
9 int
|
|
10 main (void)
|
|
11 {
|
|
12 const char* const foo1 = "hello world";
|
|
13
|
|
14 buffer1 = __builtin_malloc (SIZE);
|
|
15 __builtin_strcpy (buffer1, foo1);
|
|
16 buffer2 = __builtin_malloc (SIZE);
|
|
17 __builtin_strcpy (buffer2, foo1);
|
|
18
|
|
19 /* MEMCHR. */
|
|
20 if (__builtin_memchr ("hello world", 'x', 11))
|
|
21 __builtin_abort ();
|
|
22 if (__builtin_memchr ("hello world", 'x', 0) != 0)
|
|
23 __builtin_abort ();
|
|
24 if (__builtin_memchr ("hello world", 'w', 2))
|
|
25 __builtin_abort ();
|
|
26 if (__builtin_memchr ("hello world", 'd', 10))
|
|
27 __builtin_abort ();
|
|
28 if (__builtin_memchr ("hello world", '\0', 11))
|
|
29 __builtin_abort ();
|
|
30
|
|
31 /* STRCMP. */
|
|
32 if (__builtin_strcmp ("hello", "aaaaa") <= 0)
|
|
33 __builtin_abort ();
|
|
34 if (__builtin_strcmp ("aaaaa", "aaaaa") != 0)
|
|
35 __builtin_abort ();
|
|
36 if (__builtin_strcmp ("aaaaa", "") <= 0)
|
|
37 __builtin_abort ();
|
|
38 if (__builtin_strcmp ("", "aaaaa") >= 0)
|
|
39 __builtin_abort ();
|
|
40 if (__builtin_strcmp ("ab", "ba") >= 0)
|
|
41 __builtin_abort ();
|
|
42
|
|
43 /* STRNCMP. */
|
|
44 if (__builtin_strncmp ("hello", "aaaaa", 0) != 0)
|
|
45 __builtin_abort ();
|
|
46 if (__builtin_strncmp ("aaaaa", "aaaaa", 100) != 0)
|
|
47 __builtin_abort ();
|
|
48 if (__builtin_strncmp ("aaaaa", "", 100) <= 0)
|
|
49 __builtin_abort ();
|
|
50 if (__builtin_strncmp ("", "aaaaa", 100) >= 0)
|
|
51 __builtin_abort ();
|
|
52 if (__builtin_strncmp ("ab", "ba", 1) >= 0)
|
|
53 __builtin_abort ();
|
|
54 if (__builtin_strncmp ("aab", "aac", 2) != 0)
|
|
55 __builtin_abort ();
|
|
56
|
|
57 /* STRCASECMP. */
|
|
58 if (__builtin_strcasecmp ("aaaaa", "aaaaa") != 0)
|
|
59 __builtin_abort ();
|
|
60
|
|
61 /* STRNCASECMP. */
|
|
62 if (__builtin_strncasecmp ("hello", "aaaaa", 0) != 0)
|
|
63 __builtin_abort ();
|
|
64 if (__builtin_strncasecmp ("aaaaa", "aaaaa", 100) != 0)
|
|
65 __builtin_abort ();
|
|
66 if (__builtin_strncasecmp ("aab", "aac", 2) != 0)
|
|
67 __builtin_abort ();
|
|
68
|
|
69 /* MEMCMP. */
|
|
70 if (__builtin_memcmp ("aaaaa", "aaaaa", 6) != 0)
|
|
71 __builtin_abort ();
|
|
72
|
|
73 return 0;
|
|
74 }
|
|
75
|
|
76 /* { dg-final { scan-tree-dump-not "__builtin_strcmp" "original" } } */
|
|
77 /* { dg-final { scan-tree-dump-not "__builtin_strcasecmp" "original" } } */
|
|
78 /* { dg-final { scan-tree-dump-not "__builtin_strncmp" "original" } } */
|
|
79 /* { dg-final { scan-tree-dump-not "__builtin_strncasecmp" "original" } } */
|
|
80 /* { dg-final { scan-tree-dump-not "__builtin_memchr" "original" } } */
|
|
81 /* { dg-final { scan-tree-dump-not "__builtin_memcmp" "original" } } */
|