OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc2/] [gcc/] [testsuite/] [gcc.dg/] [format/] [ms_multattr-1.c] - Diff between revs 298 and 384

Only display areas with differences | Details | Blame | View Log

Rev 298 Rev 384
/* Test for multiple format attributes.  Test for printf and scanf attributes
/* Test for multiple format attributes.  Test for printf and scanf attributes
   together.  */
   together.  */
/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
/* { dg-do compile { target { *-*-mingw* } } } */
/* { dg-do compile { target { *-*-mingw* } } } */
/* { dg-options "-std=gnu99 -Wformat" } */
/* { dg-options "-std=gnu99 -Wformat" } */
 
 
#define USE_SYSTEM_FORMATS
#define USE_SYSTEM_FORMATS
#include "format.h"
#include "format.h"
 
 
/* If we specify multiple attributes for a single function, they should
/* If we specify multiple attributes for a single function, they should
   all apply.  This should apply whether they are on the same declaration
   all apply.  This should apply whether they are on the same declaration
   or on different declarations.  */
   or on different declarations.  */
 
 
extern void my_vprintf_scanf (const char *, va_list, const char *, ...)
extern void my_vprintf_scanf (const char *, va_list, const char *, ...)
     __attribute__((__format__(__ms_printf__, 1, 0)))
     __attribute__((__format__(__ms_printf__, 1, 0)))
     __attribute__((__format__(__ms_scanf__, 3, 4)));
     __attribute__((__format__(__ms_scanf__, 3, 4)));
 
 
extern void my_vprintf_scanf2 (const char *, va_list, const char *, ...)
extern void my_vprintf_scanf2 (const char *, va_list, const char *, ...)
     __attribute__((__format__(__ms_scanf__, 3, 4)))
     __attribute__((__format__(__ms_scanf__, 3, 4)))
     __attribute__((__format__(__ms_printf__, 1, 0)));
     __attribute__((__format__(__ms_printf__, 1, 0)));
 
 
extern void my_vprintf_scanf3 (const char *, va_list, const char *, ...)
extern void my_vprintf_scanf3 (const char *, va_list, const char *, ...)
     __attribute__((__format__(__ms_printf__, 1, 0)));
     __attribute__((__format__(__ms_printf__, 1, 0)));
extern void my_vprintf_scanf3 (const char *, va_list, const char *, ...)
extern void my_vprintf_scanf3 (const char *, va_list, const char *, ...)
     __attribute__((__format__(__ms_scanf__, 3, 4)));
     __attribute__((__format__(__ms_scanf__, 3, 4)));
 
 
extern void my_vprintf_scanf4 (const char *, va_list, const char *, ...)
extern void my_vprintf_scanf4 (const char *, va_list, const char *, ...)
     __attribute__((__format__(__ms_scanf__, 3, 4)));
     __attribute__((__format__(__ms_scanf__, 3, 4)));
extern void my_vprintf_scanf4 (const char *, va_list, const char *, ...)
extern void my_vprintf_scanf4 (const char *, va_list, const char *, ...)
     __attribute__((__format__(__ms_printf__, 1, 0)));
     __attribute__((__format__(__ms_printf__, 1, 0)));
 
 
void
void
foo (va_list ap, int *ip, long *lp)
foo (va_list ap, int *ip, long *lp)
{
{
  my_vprintf_scanf ("%d", ap, "%d", ip);
  my_vprintf_scanf ("%d", ap, "%d", ip);
  my_vprintf_scanf ("%d", ap, "%ld", lp);
  my_vprintf_scanf ("%d", ap, "%ld", lp);
  my_vprintf_scanf ("%", ap, "%d", ip); /* { dg-warning "format" "printf" } */
  my_vprintf_scanf ("%", ap, "%d", ip); /* { dg-warning "format" "printf" } */
  my_vprintf_scanf ("%d", ap, "%ld", ip); /* { dg-warning "format" "scanf" } */
  my_vprintf_scanf ("%d", ap, "%ld", ip); /* { dg-warning "format" "scanf" } */
  my_vprintf_scanf2 ("%d", ap, "%d", ip);
  my_vprintf_scanf2 ("%d", ap, "%d", ip);
  my_vprintf_scanf2 ("%d", ap, "%ld", lp);
  my_vprintf_scanf2 ("%d", ap, "%ld", lp);
  my_vprintf_scanf2 ("%", ap, "%d", ip); /* { dg-warning "format" "printf" } */
  my_vprintf_scanf2 ("%", ap, "%d", ip); /* { dg-warning "format" "printf" } */
  my_vprintf_scanf2 ("%d", ap, "%ld", ip); /* { dg-warning "format" "scanf" } */
  my_vprintf_scanf2 ("%d", ap, "%ld", ip); /* { dg-warning "format" "scanf" } */
  my_vprintf_scanf3 ("%d", ap, "%d", ip);
  my_vprintf_scanf3 ("%d", ap, "%d", ip);
  my_vprintf_scanf3 ("%d", ap, "%ld", lp);
  my_vprintf_scanf3 ("%d", ap, "%ld", lp);
  my_vprintf_scanf3 ("%", ap, "%d", ip); /* { dg-warning "format" "printf" } */
  my_vprintf_scanf3 ("%", ap, "%d", ip); /* { dg-warning "format" "printf" } */
  my_vprintf_scanf3 ("%d", ap, "%ld", ip); /* { dg-warning "format" "scanf" } */
  my_vprintf_scanf3 ("%d", ap, "%ld", ip); /* { dg-warning "format" "scanf" } */
  my_vprintf_scanf4 ("%d", ap, "%d", ip);
  my_vprintf_scanf4 ("%d", ap, "%d", ip);
  my_vprintf_scanf4 ("%d", ap, "%ld", lp);
  my_vprintf_scanf4 ("%d", ap, "%ld", lp);
  my_vprintf_scanf4 ("%", ap, "%d", ip); /* { dg-warning "format" "printf" } */
  my_vprintf_scanf4 ("%", ap, "%d", ip); /* { dg-warning "format" "printf" } */
  my_vprintf_scanf4 ("%d", ap, "%ld", ip); /* { dg-warning "format" "scanf" } */
  my_vprintf_scanf4 ("%d", ap, "%ld", ip); /* { dg-warning "format" "scanf" } */
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.