+2000-11-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * gcc.c-torture/execute/string-opt-1.c: New test.
+
2000-11-07 Jeffrey Oldham <oldham@oz.codesourcery.com>
* gcc.c-torture/execute/va-arg-15.x: New file. Fails on
--- /dev/null
+/* Copyright (C) 2000 Free Software Foundation.
+
+ Ensure all expected transformations of builtin strstr occur and
+ perform correctly.
+
+ Written by Kaveh R. Ghazi, 11/6/2000. */
+
+extern void abort(void);
+extern char *strstr (const char *, const char *);
+
+int main()
+{
+ const char *const foo = "hello world";
+
+ if (strstr (foo, "") != foo)
+ abort();
+ if (strstr (foo + 4, "") != foo + 4)
+ abort();
+ if (strstr (foo, "h") != foo)
+ abort();
+ if (strstr (foo, "w") != foo + 6)
+ abort();
+ if (strstr (foo + 6, "o") != foo + 7)
+ abort();
+
+ return 0;
+}
+
+#ifdef __OPTIMIZE__
+/* When optimizing, all the above cases should be transformed into
+ something else. So any remaining calls to the original function
+ should abort. */
+char *
+strstr(const char *s1, const char *s2)
+{
+ abort();
+}
+#endif