modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/string-large-1.c (about) 1 /* Test built-in string functions with large sizes. PR 78460. */ 2 3 typedef __SIZE_TYPE__ size_t; 4 5 #define SIZE1 ((size_t) -1) 6 #define SIZE2 (SIZE1 >> 1) 7 #define SIZE3 ((unsigned int) -1) 8 #define SIZE4 (SIZE3 >> 1) 9 10 volatile int v1, v2, v3, v4; 11 void *volatile vp1, *volatile vp2, *volatile vp3, *volatile vp4; 12 13 void 14 test_memchr (const void *a, int b) 15 { 16 vp1 = __builtin_memchr (a, b, SIZE1); 17 vp2 = __builtin_memchr (a, b, SIZE2); 18 vp3 = __builtin_memchr (a, b, SIZE3); 19 vp4 = __builtin_memchr (a, b, SIZE4); 20 } 21 22 void 23 test_memcmp (const void *a, const void *b) 24 { 25 v1 = __builtin_memcmp (a, b, SIZE1); 26 v2 = __builtin_memcmp (a, b, SIZE2); 27 v3 = __builtin_memcmp (a, b, SIZE3); 28 v4 = __builtin_memcmp (a, b, SIZE4); 29 } 30 31 void 32 test_memcpy (void *a, const void *b) 33 { 34 vp1 = __builtin_memcpy (a, b, SIZE1); 35 vp2 = __builtin_memcpy (a, b, SIZE2); 36 vp3 = __builtin_memcpy (a, b, SIZE3); 37 vp4 = __builtin_memcpy (a, b, SIZE4); 38 } 39 40 void 41 test_memmove (void *a, const void *b) 42 { 43 vp1 = __builtin_memmove (a, b, SIZE1); 44 vp2 = __builtin_memmove (a, b, SIZE2); 45 vp3 = __builtin_memmove (a, b, SIZE3); 46 vp4 = __builtin_memmove (a, b, SIZE4); 47 } 48 49 void 50 test_mempcpy (void *a, const void *b) 51 { 52 vp1 = __builtin_mempcpy (a, b, SIZE1); 53 vp2 = __builtin_mempcpy (a, b, SIZE2); 54 vp3 = __builtin_mempcpy (a, b, SIZE3); 55 vp4 = __builtin_mempcpy (a, b, SIZE4); 56 } 57 58 void 59 test_memset (void *a, int b) 60 { 61 vp1 = __builtin_memset (a, b, SIZE1); 62 vp2 = __builtin_memset (a, b, SIZE2); 63 vp3 = __builtin_memset (a, b, SIZE3); 64 vp4 = __builtin_memset (a, b, SIZE4); 65 } 66 67 void 68 test_stpncpy (char *a, const char *b) 69 { 70 vp1 = __builtin_stpncpy (a, b, SIZE1); 71 vp2 = __builtin_stpncpy (a, b, SIZE2); 72 vp3 = __builtin_stpncpy (a, b, SIZE3); 73 vp4 = __builtin_stpncpy (a, b, SIZE4); 74 } 75 76 void 77 test_strndup (const char *a) 78 { 79 vp1 = __builtin_strndup (a, SIZE1); 80 vp2 = __builtin_strndup (a, SIZE2); 81 vp3 = __builtin_strndup (a, SIZE3); 82 vp4 = __builtin_strndup (a, SIZE4); 83 } 84 85 void 86 test_strncasecmp (const char *a, const char *b) 87 { 88 v1 = __builtin_strncasecmp (a, b, SIZE1); 89 v2 = __builtin_strncasecmp (a, b, SIZE2); 90 v3 = __builtin_strncasecmp (a, b, SIZE3); 91 v4 = __builtin_strncasecmp (a, b, SIZE4); 92 } 93 94 void 95 test_strncat (char *a, const char *b) 96 { 97 vp1 = __builtin_strncat (a, b, SIZE1); 98 vp2 = __builtin_strncat (a, b, SIZE2); 99 vp3 = __builtin_strncat (a, b, SIZE3); 100 vp4 = __builtin_strncat (a, b, SIZE4); 101 } 102 103 void 104 test_strncmp (const char *a, const char *b) 105 { 106 v1 = __builtin_strncmp (a, b, SIZE1); 107 v2 = __builtin_strncmp (a, b, SIZE2); 108 v3 = __builtin_strncmp (a, b, SIZE3); 109 v4 = __builtin_strncmp (a, b, SIZE4); 110 } 111 112 void 113 test_strncpy (char *a, const char *b) 114 { 115 vp1 = __builtin_strncpy (a, b, SIZE1); 116 vp2 = __builtin_strncpy (a, b, SIZE2); 117 vp3 = __builtin_strncpy (a, b, SIZE3); 118 vp4 = __builtin_strncpy (a, b, SIZE4); 119 }