1/* Test for strftime formats.  Rejection of formats using C99 features in
2   pedantic C90 mode.  */
3/* Origin: Joseph Myers <jsm28@cam.ac.uk> */
4/* { dg-do compile } */
5/* { dg-options "-std=iso9899:1990 -pedantic -Wformat -Wformat-y2k" } */
6
7#include "format.h"
8
9void
10foo (char *s, size_t m, const struct tm *tp)
11{
12  strftime (s, m, "%C", tp); /* { dg-warning "C" "%C not in C90" } */
13  strftime (s, m, "%D", tp); /* { dg-warning "C" "%D not in C90" } */
14  /* { dg-warning "only last 2" "2-digit year" { target *-*-* } 13 } */
15  strftime (s, m, "%e", tp); /* { dg-warning "C" "%e not in C90" } */
16  strftime (s, m, "%F", tp); /* { dg-warning "C" "%F not in C90" } */
17  strftime (s, m, "%g", tp); /* { dg-warning "C" "%g not in C90" } */
18  /* { dg-warning "only last 2" "2-digit year" { target *-*-* } 17 } */
19  strftime (s, m, "%G", tp); /* { dg-warning "C" "%G not in C90" } */
20  strftime (s, m, "%h", tp); /* { dg-warning "C" "%h not in C90" } */
21  strftime (s, m, "%n", tp); /* { dg-warning "C" "%n not in C90" } */
22  strftime (s, m, "%r", tp); /* { dg-warning "C" "%r not in C90" } */
23  strftime (s, m, "%R", tp); /* { dg-warning "C" "%R not in C90" } */
24  strftime (s, m, "%t", tp); /* { dg-warning "C" "%t not in C90" } */
25  strftime (s, m, "%T", tp); /* { dg-warning "C" "%T not in C90" } */
26  strftime (s, m, "%u", tp); /* { dg-warning "C" "%u not in C90" } */
27  strftime (s, m, "%V", tp); /* { dg-warning "C" "%V not in C90" } */
28  strftime (s, m, "%z", tp); /* { dg-warning "C" "%z not in C90" } */
29  strftime (s, m, "%EX", tp); /* { dg-warning "C" "%E not in C90" } */
30  strftime (s, m, "%OW", tp); /* { dg-warning "C" "%O not in C90" } */
31}
32