diff options
author | manu <manu@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-02-19 21:12:09 +0000 |
---|---|---|
committer | manu <manu@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-02-19 21:12:09 +0000 |
commit | 4c2cfa8125c9a53b563d4d50c7fe83c2167e73fa (patch) | |
tree | a8b8399751e464e4ec4287a9c9a0996327cc76f4 /gcc/testsuite/c-c++-common | |
parent | 83a23b050c3e304cdbfe91ddcad06d3a20aff63f (diff) | |
download | gcc-4c2cfa8125c9a53b563d4d50c7fe83c2167e73fa.tar.gz |
2010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR 41779
* c-common.c (conversion_warning): Remove widening conversions
before checking the conversion of integers to reals.
testsuite/
* c-c++-common/pr41779.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156911 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/c-c++-common')
-rw-r--r-- | gcc/testsuite/c-c++-common/pr41779.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/c-c++-common/pr41779.c b/gcc/testsuite/c-c++-common/pr41779.c new file mode 100644 index 00000000000..f7153d9299e --- /dev/null +++ b/gcc/testsuite/c-c++-common/pr41779.c @@ -0,0 +1,31 @@ +/* PR41779: Wconversion cannot see throught real*integer promotions. */ +/* { dg-do compile } */ +/* { dg-skip-if "doubles are floats" { "avr-*-*" } { "*" } { "" } } */ +/* { dg-options "-std=c99 -Wconversion" { target c } } */ +/* { dg-options "-Wconversion" { target c++ } } */ +/* { dg-require-effective-target large_double } */ + +float f(float x, unsigned short y) +{ + return x * y; +} + +float f(float x, short y) +{ + return x * y; +} + +float f(float x, char y) +{ + return x * y; +} + +float f(float x, unsigned char y) +{ + return x * y; +} + +float f(float x, int y) +{ + return x * y; /* { dg-warning "conversion" } */ +} |