modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/20011024-1.c (about) 1 /* Test whether store motion recognizes pure functions as potentially reading 2 any memory. */ 3 4 typedef __SIZE_TYPE__ size_t; 5 extern void *memcpy (void *dest, const void *src, size_t n); 6 extern size_t strlen (const char *s); 7 extern int strcmp (const char *s1, const char *s2) __attribute__((pure)); 8 9 char buf[50]; 10 11 static void foo (void) 12 { 13 if (memcpy (buf, "abc", 4) != buf) abort (); 14 if (strcmp (buf, "abc")) abort (); 15 memcpy (buf, "abcdefgh", strlen ("abcdefgh") + 1); 16 } 17 18 int main (void) 19 { 20 foo (); 21 return 0; 22 }