Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/warn/miss-format-1.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* Test for warnings for missing format attributes. */ /* Origin: Joseph Myers <jsm28@cam.ac.uk> */ /* { dg-do compile } */ /* { dg-options "-Wmissing-format-attribute" } */ /* { dg-options "-Wmissing-format-attribute -Wno-abi" { target arm_eabi } } */ #include <stdio.h> #include <stdarg.h> void foo (const char *fmt, ...) { va_list ap; va_start (ap, fmt); vprintf (fmt, ap); /* { dg-warning "candidate" "printf attribute warning" } */ va_end (ap); } void bar (const char *fmt, ...) { va_list ap; va_start (ap, fmt); vscanf (fmt, ap); /* { dg-warning "candidate" "scanf attribute warning" { xfail *-*-vxworks* } } */ /* VxWorks does not provide vscanf, either in kernel or RTP mode. */ /* { dg-error "not declared" "" { target *-*-vxworks* } .-2 } */ va_end (ap); } __attribute__((__format__(__printf__, 1, 2))) void foo2 (const char *fmt, ...) { va_list ap; va_start (ap, fmt); vprintf (fmt, ap); va_end (ap); } void vfoo (const char *fmt, va_list arg) { vprintf (fmt, arg); /* { dg-warning "candidate" "printf attribute warning 2" } */ }