/* Manual reimplemenation of , to test name-matching within std. */ namespace std { typedef __SIZE_TYPE__ size_t; void *malloc (std::size_t size); void *calloc (std::size_t num, std::size_t size); void free (void *ptr); } void test_1 (void *ptr) { std::free (ptr); /* { dg-message "first 'free' here" } */ std::free (ptr); /* { dg-warning "double-'free' of 'ptr'" } */ } void test_2 (void) { void *p = std::malloc (1024); /* { dg-message "allocated here" } */ } /* { dg-warning "leak of 'p'" } */ void test_3 (void) { void *p = std::calloc (42, 1024); /* { dg-message "allocated here" } */ } /* { dg-warning "leak of 'p'" } */