OSDN Git Service

* gcc.c-torture/execute/builtin-abs-1.c
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.c-torture / execute / builtins / strstr.c
1 /* Copyright (C) 2000  Free Software Foundation.
2
3    Ensure all expected transformations of builtin strstr occur and
4    perform correctly.
5
6    Written by Kaveh R. Ghazi, 11/6/2000.  */
7
8 extern void abort(void);
9 extern char *strstr (const char *, const char *);
10
11 void
12 main_test (void)
13 {
14   const char *const foo = "hello world";
15   
16   if (strstr (foo, "") != foo)
17     abort();
18   if (strstr (foo + 4, "") != foo + 4)
19     abort();
20   if (strstr (foo, "h") != foo)
21     abort();
22   if (strstr (foo, "w") != foo + 6)
23     abort();
24   if (strstr (foo + 6, "o") != foo + 7)
25     abort();
26   if (strstr (foo + 1, "world") != foo + 6)
27     abort();
28
29   /* Test at least one instance of the __builtin_ style.  We do this
30      to ensure that it works and that the prototype is correct.  */
31   if (__builtin_strstr (foo + 1, "world") != foo + 6)
32     abort();
33 }