Skip several analyzer socket tests on hppa*-*-hpux*
[official-gcc.git] / gcc / testsuite / c-c++-common / analyzer / vasprintf-1.c
blob5e8ee9f233bba8055d28915a300c9d88f4b44367
1 /* { dg-additional-options "-Wno-analyzer-too-complex" } */
3 #include "../../gcc.dg/analyzer/analyzer-decls.h"
6 extern int printf (const char *__restrict __format, ...);
7 extern int vasprintf (char **__restrict __ptr, const char *__restrict __f,
8 __builtin_va_list __arg)
9 __attribute__ ((__nothrow__, __format__ (__printf__, 2, 0))) ;
10 extern void free (void *__ptr) __attribute__ ((__nothrow__ , __leaf__));
12 static char * __attribute__ ((__format__ (__printf__, 1, 2)))
13 zasprintf (const char *format, ...)
15 char *resultp;
16 __builtin_va_list args;
17 __builtin_va_start (args, format);
18 int r = vasprintf (&resultp, format, args);
19 __builtin_va_end (args);
20 return r < 0 ? NULL : resultp;
23 int run_test() {
24 char *buf = NULL;
25 char *bar = NULL;
26 char *baz = NULL;
27 int i = 1232;
29 printf("static function check\n");
31 buf = zasprintf("i = %d", i);
32 if (buf) {
33 printf("buf = %s\nbuf = %p\n", buf, buf);
36 bar = zasprintf("i = %d - %d", i, i - 13);
37 if (bar) {
38 printf("bar = %s\nbar = %p\n", bar, bar);
39 printf("buf = %s\nbuf = %p\n", buf, buf);
42 baz = zasprintf("No i's here");
43 if (baz) {
44 printf("baz = %s\nbaz = %p\n", baz, baz);
45 printf("bar = %s\nbar = %p\n", bar, bar);
46 printf("buf = %s\nbuf = %p\n", buf, buf);
49 free(buf);
50 free(bar);
51 free(baz);
53 return 1;
56 int main(int argc, char **argv) {
57 return run_test();