annotate gcc/testsuite/gcc.c-torture/execute/builtins/memchr.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* Copyright (C) 2007 Free Software Foundation.
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 Ensure all expected transformations of builtin memchr occur
kono
parents:
diff changeset
4 and perform correctly.
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 Written by Paolo Carlini, 10/5/2007. */
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 extern void abort (void);
kono
parents:
diff changeset
9 typedef __SIZE_TYPE__ size_t;
kono
parents:
diff changeset
10 extern void *memchr (const void *, int, size_t);
kono
parents:
diff changeset
11
kono
parents:
diff changeset
12 void
kono
parents:
diff changeset
13 main_test (void)
kono
parents:
diff changeset
14 {
kono
parents:
diff changeset
15 const char* const foo1 = "hello world";
kono
parents:
diff changeset
16
kono
parents:
diff changeset
17 if (memchr (foo1, 'x', 11))
kono
parents:
diff changeset
18 abort ();
kono
parents:
diff changeset
19 if (memchr (foo1, 'o', 11) != foo1 + 4)
kono
parents:
diff changeset
20 abort ();
kono
parents:
diff changeset
21 if (memchr (foo1, 'w', 2))
kono
parents:
diff changeset
22 abort ();
kono
parents:
diff changeset
23 if (memchr (foo1 + 5, 'o', 6) != foo1 + 7)
kono
parents:
diff changeset
24 abort ();
kono
parents:
diff changeset
25 if (memchr (foo1, 'd', 11) != foo1 + 10)
kono
parents:
diff changeset
26 abort ();
kono
parents:
diff changeset
27 if (memchr (foo1, 'd', 10))
kono
parents:
diff changeset
28 abort ();
kono
parents:
diff changeset
29 if (memchr (foo1, '\0', 11))
kono
parents:
diff changeset
30 abort ();
kono
parents:
diff changeset
31 if (memchr (foo1, '\0', 12) != foo1 + 11)
kono
parents:
diff changeset
32 abort ();
kono
parents:
diff changeset
33
kono
parents:
diff changeset
34 /* Test at least one instance of the __builtin_ style. We do this
kono
parents:
diff changeset
35 to ensure that it works and that the prototype is correct. */
kono
parents:
diff changeset
36 if (__builtin_memchr (foo1, 'r', 11) != foo1 + 8)
kono
parents:
diff changeset
37 abort ();
kono
parents:
diff changeset
38 }