1 /* Verify that built-in forms of functions can be used interchangeably
2 with their ordinary (library) forms in attribute malloc.
4 { dg-options "-Wall" } */
6 char* f (void) __attribute__ ((malloc (__builtin_free
)));
18 char* g (void) __attribute__ ((malloc (free
)));
21 void test_nowarm (void)
40 free (p
+ 1); // { dg-warning "'(free|void free\\(void\\*\\))' called on pointer '(p|<unknown>)' with nonzero offset" }
43 free (p
+ 2); // { dg-warning "'(free|void free\\(void\\*\\))' called on pointer '(p|<unknown>)' with nonzero offset" }
46 __builtin_free (p
+ 3); // { dg-warning "'(__builtin_free|void __builtin_free\\(void\\*\\))' called on pointer '(p|<unknown>)' with nonzero offset" }
49 __builtin_free (p
+ 4); // { dg-warning "'(__builtin_free|void __builtin_free\\(void\\*\\))' called on pointer '(p|<unknown>)' with nonzero offset" }