From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- gcc/testsuite/gcc.dg/format/warnll-1.c | 45 ++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/format/warnll-1.c (limited to 'gcc/testsuite/gcc.dg/format/warnll-1.c') diff --git a/gcc/testsuite/gcc.dg/format/warnll-1.c b/gcc/testsuite/gcc.dg/format/warnll-1.c new file mode 100644 index 000000000..2d2277693 --- /dev/null +++ b/gcc/testsuite/gcc.dg/format/warnll-1.c @@ -0,0 +1,45 @@ +/* Test for printf formats. C99 "long long" formats should be accepted with + -Wno-long-long. +*/ +/* Origin: Joseph Myers */ +/* { dg-do compile } */ +/* { dg-options "-std=iso9899:1990 -pedantic -Wformat -Wno-long-long" } */ + +#include "format.h" + +void +foo (long long ll, unsigned long long ull, long long *lln, + long long *llp, unsigned long long *ullp) +{ + /* Test for accepting standard "long long" formats. */ + printf ("%lld%lli%llo%llu%llx%llX%lln", ll, ll, ull, ull, ull, ull, lln); + scanf ("%lld%lli%llo%llu%llx%llX%lln", llp, llp, + ullp, ullp, ullp, ullp, lln); + /* Use of "q" and "L" should still be warned about. */ + printf ("%qd", ll); /* { dg-warning "C" "printf %qd" } */ + printf ("%qi", ll); /* { dg-warning "C" "printf %qi" } */ + printf ("%qo", ull); /* { dg-warning "C" "printf %qo" } */ + printf ("%qu", ull); /* { dg-warning "C" "printf %qu" } */ + printf ("%qx", ull); /* { dg-warning "C" "printf %qx" } */ + printf ("%qX", ull); /* { dg-warning "C" "printf %qX" } */ + printf ("%qn", lln); /* { dg-warning "C" "printf %qn" } */ + printf ("%Ld", ll); /* { dg-warning "C" "printf %Ld" } */ + printf ("%Li", ll); /* { dg-warning "C" "printf %Li" } */ + printf ("%Lo", ull); /* { dg-warning "C" "printf %oL" } */ + printf ("%Lu", ull); /* { dg-warning "C" "printf %Lu" } */ + printf ("%Lx", ull); /* { dg-warning "C" "printf %Lx" } */ + printf ("%LX", ull); /* { dg-warning "C" "printf %LX" } */ + scanf ("%qd", llp); /* { dg-warning "C" "scanf %qd" } */ + scanf ("%qi", llp); /* { dg-warning "C" "scanf %qi" } */ + scanf ("%qo", ullp); /* { dg-warning "C" "scanf %qo" } */ + scanf ("%qu", ullp); /* { dg-warning "C" "scanf %qu" } */ + scanf ("%qx", ullp); /* { dg-warning "C" "scanf %qx" } */ + scanf ("%qX", ullp); /* { dg-warning "C" "scanf %qX" } */ + scanf ("%qn", lln); /* { dg-warning "C" "scanf %qn" } */ + scanf ("%Ld", llp); /* { dg-warning "C" "scanf %Ld" } */ + scanf ("%Li", llp); /* { dg-warning "C" "scanf %Li" } */ + scanf ("%Lo", ullp); /* { dg-warning "C" "scanf %oL" } */ + scanf ("%Lu", ullp); /* { dg-warning "C" "scanf %Lu" } */ + scanf ("%Lx", ullp); /* { dg-warning "C" "scanf %Lx" } */ + scanf ("%LX", ullp); /* { dg-warning "C" "scanf %LX" } */ +} -- cgit v1.2.3