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/Wtraditional-conversion-2.c | 64 ++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/Wtraditional-conversion-2.c (limited to 'gcc/testsuite/gcc.dg/Wtraditional-conversion-2.c') diff --git a/gcc/testsuite/gcc.dg/Wtraditional-conversion-2.c b/gcc/testsuite/gcc.dg/Wtraditional-conversion-2.c new file mode 100644 index 000000000..b3c7e3c6c --- /dev/null +++ b/gcc/testsuite/gcc.dg/Wtraditional-conversion-2.c @@ -0,0 +1,64 @@ +/* Test messages for -Wtraditional-conversion, including that they are not + pedwarns. */ +/* Origin: Joseph Myers */ +/* { dg-do compile } */ +/* { dg-options "-std=c99 -pedantic-errors -Wtraditional-conversion" } */ + +void fsc(signed char); +void fsi(signed int); +void fsll(signed long long); +void fuc(unsigned char); +void fui(unsigned int); +void full(unsigned long long); +void ff(float); +void fld(long double); +void fcf(_Complex float); + +struct s { + void (*fsc)(signed char); + void (*fsi)(signed int); + void (*fsll)(signed long long); + void (*fuc)(unsigned char); + void (*fui)(unsigned int); + void (*full)(unsigned long long); + void (*ff)(float); + void (*fld)(long double); + void (*fcf)(_Complex float); +} x; + +signed char sc; +signed int si; +signed long long sll; +unsigned char uc; +unsigned int ui; +unsigned long long ull; +float f; +long double ld; +_Complex float cf; + +void +g (void) +{ + fsi(f); /* { dg-warning "passing argument 1 of 'fsi' as integer rather than floating due to prototype" } */ + x.fsi(f); /* { dg-warning "passing argument 1 of 'x.fsi' as integer rather than floating due to prototype" } */ + fsi(cf); /* { dg-warning "passing argument 1 of 'fsi' as integer rather than complex due to prototype" } */ + x.fsi(cf); /* { dg-warning "passing argument 1 of 'x.fsi' as integer rather than complex due to prototype" } */ + fcf(f); /* { dg-warning "passing argument 1 of 'fcf' as complex rather than floating due to prototype" } */ + x.fcf(f); /* { dg-warning "passing argument 1 of 'x.fcf' as complex rather than floating due to prototype" } */ + fcf(si); /* { dg-warning "passing argument 1 of 'fcf' as complex rather than integer due to prototype" } */ + x.fcf(si); /* { dg-warning "passing argument 1 of 'x.fcf' as complex rather than integer due to prototype" } */ + ff(sc); /* { dg-warning "passing argument 1 of 'ff' as floating rather than integer due to prototype" } */ + x.ff(sc); /* { dg-warning "passing argument 1 of 'x.ff' as floating rather than integer due to prototype" } */ + ff(cf); /* { dg-warning "passing argument 1 of 'ff' as floating rather than complex due to prototype" } */ + x.ff(cf); /* { dg-warning "passing argument 1 of 'x.ff' as floating rather than complex due to prototype" } */ + ff(1.0); /* { dg-warning "passing argument 1 of 'ff' as 'float' rather than 'double' due to prototype" } */ + x.ff(1.0); /* { dg-warning "passing argument 1 of 'x.ff' as 'float' rather than 'double' due to prototype" } */ + fsll(sc); /* { dg-warning "passing argument 1 of 'fsll' with different width due to prototype" } */ + x.fsll(sc); /* { dg-warning "passing argument 1 of 'x.fsll' with different width due to prototype" } */ + fsc(sll); /* { dg-warning "passing argument 1 of 'fsc' with different width due to prototype" } */ + x.fsc(sll); /* { dg-warning "passing argument 1 of 'x.fsc' with different width due to prototype" } */ + fsi(ui); /* { dg-warning "passing argument 1 of 'fsi' as signed due to prototype" } */ + x.fsi(ui); /* { dg-warning "passing argument 1 of 'x.fsi' as signed due to prototype" } */ + full(sll); /* { dg-warning "passing argument 1 of 'full' as unsigned due to prototype" } */ + x.full(sll); /* { dg-warning "passing argument 1 of 'x.full' as unsigned due to prototype" } */ +} -- cgit v1.2.3