1*e5dd7070Spatrick 2*e5dd7070Spatrick // Currently the check is performed for apple targets only. test(const char * path)3*e5dd7070Spatrickvoid test(const char *path) { 4*e5dd7070Spatrick int fd = open(path, O_CREAT); 5*e5dd7070Spatrick // warn: call to 'open' requires a third argument when the 6*e5dd7070Spatrick // 'O_CREAT' flag is set 7*e5dd7070Spatrick } 8*e5dd7070Spatrick 9*e5dd7070Spatrick void f(); 10*e5dd7070Spatrick test()11*e5dd7070Spatrickvoid test() { 12*e5dd7070Spatrick pthread_once_t pred = {0x30B1BCBA, {0}}; 13*e5dd7070Spatrick pthread_once(&pred, f); 14*e5dd7070Spatrick // warn: call to 'pthread_once' uses the local variable 15*e5dd7070Spatrick } 16*e5dd7070Spatrick test()17*e5dd7070Spatrickvoid test() { 18*e5dd7070Spatrick void *p = malloc(0); // warn: allocation size of 0 bytes 19*e5dd7070Spatrick } 20*e5dd7070Spatrick test()21*e5dd7070Spatrickvoid test() { 22*e5dd7070Spatrick void *p = calloc(0, 42); // warn: allocation size of 0 bytes 23*e5dd7070Spatrick } 24*e5dd7070Spatrick test()25*e5dd7070Spatrickvoid test() { 26*e5dd7070Spatrick void *p = malloc(1); 27*e5dd7070Spatrick p = realloc(p, 0); // warn: allocation size of 0 bytes 28*e5dd7070Spatrick } 29*e5dd7070Spatrick test()30*e5dd7070Spatrickvoid test() { 31*e5dd7070Spatrick void *p = alloca(0); // warn: allocation size of 0 bytes 32*e5dd7070Spatrick } 33*e5dd7070Spatrick test()34*e5dd7070Spatrickvoid test() { 35*e5dd7070Spatrick void *p = valloc(0); // warn: allocation size of 0 bytes 36*e5dd7070Spatrick } 37*e5dd7070Spatrick 38