diff options
author | Manuel López-Ibáñez <manu@gcc.gnu.org> | 2009-08-10 17:10:50 +0000 |
---|---|---|
committer | Manuel López-Ibáñez <manu@gcc.gnu.org> | 2009-08-10 17:10:50 +0000 |
commit | 812a5d4b7e983a208446efe4c747c528228bcb28 (patch) | |
tree | 352301eb3294920cdfe083b4364bd8e49419309a | |
parent | 0159ec792b364e3b675d606ee66700a4c373bd1f (diff) | |
download | gcc-812a5d4b7e983a208446efe4c747c528228bcb28.zip gcc-812a5d4b7e983a208446efe4c747c528228bcb28.tar.gz gcc-812a5d4b7e983a208446efe4c747c528228bcb28.tar.bz2 |
dg.exp: Test also c-c++-common dir.
2009-08-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
testsuite/
* gcc.dg/dg.exp: Test also c-c++-common dir.
* g++.dg/dg.exp: Likewise.
* g++.dg/warn/Wconversion-real.C: Delete.
* gcc.dg/Wconversion-real.c: Move to ...
* c-c++-common/Wconversion-real.c: ... here.
* lib/target-supports.exp
(check_effective_target_c,check_effective_target_c++): New.
From-SVN: r150627
-rw-r--r-- | gcc/testsuite/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/testsuite/c-c++-common/Wconversion-real.c (renamed from gcc/testsuite/gcc.dg/Wconversion-real.c) | 3 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/dg.exp | 4 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/warn/Wconversion-real.C | 85 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/dg.exp | 4 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 20 |
6 files changed, 40 insertions, 86 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 211381f..2f7c1b2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,13 @@ +2009-08-10 Manuel López-Ibáñez <manu@gcc.gnu.org> + + * gcc.dg/dg.exp: Test also c-c++-common dir. + * g++.dg/dg.exp: Likewise. + * g++.dg/warn/Wconversion-real.C: Delete. + * gcc.dg/Wconversion-real.c: Move to ... + * c-c++-common/Wconversion-real.c: ... here. + * lib/target-supports.exp + (check_effective_target_c,check_effective_target_c++): New. + 2009-08-10 Daniel Kraft <d@domob.eu> PR fortran/37425 diff --git a/gcc/testsuite/gcc.dg/Wconversion-real.c b/gcc/testsuite/c-c++-common/Wconversion-real.c index ed7371b..464aab0 100644 --- a/gcc/testsuite/gcc.dg/Wconversion-real.c +++ b/gcc/testsuite/c-c++-common/Wconversion-real.c @@ -2,7 +2,8 @@ /* { dg-do compile } */ /* { dg-skip-if "doubles are floats" { "avr-*-*" } { "*" } { "" } } */ -/* { dg-options "-std=c99 -Wconversion" } */ +/* { dg-options "-std=c99 -Wconversion" { target c } } */ +/* { dg-options "-Wconversion" { target c++ } } */ /* { dg-require-effective-target large_double } */ float vfloat; diff --git a/gcc/testsuite/g++.dg/dg.exp b/gcc/testsuite/g++.dg/dg.exp index a19bc2c..54fc225 100644 --- a/gcc/testsuite/g++.dg/dg.exp +++ b/gcc/testsuite/g++.dg/dg.exp @@ -49,5 +49,9 @@ set tests [prune $tests $srcdir/$subdir/graphite/*] # Main loop. dg-runtest $tests "" $DEFAULT_CXXFLAGS +# C/C++ common tests. +dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/*.\[cSi\]]] \ + "" "" + # All done. dg-finish diff --git a/gcc/testsuite/g++.dg/warn/Wconversion-real.C b/gcc/testsuite/g++.dg/warn/Wconversion-real.C index f769bac..e69de29 100644 --- a/gcc/testsuite/g++.dg/warn/Wconversion-real.C +++ b/gcc/testsuite/g++.dg/warn/Wconversion-real.C @@ -1,85 +0,0 @@ -/* Test for diagnostics for Wconversion for floating-point. - C++ equivalent of gcc/testsuite/gcc.dg/Wconversion-real.c */ - -/* { dg-do compile } -/* { dg-options "-Wconversion" } */ - -float vfloat; -double vdouble; -long double vlongdouble; - -void ffloat (float f); -void fdouble (double d); -void flongdouble (long double ld); - -void h (void) -{ - float f = 0; - double d = 0; - long double ld = 0; - - ffloat (3.1); /* { dg-warning "conversion" } */ - vfloat = 3.1; /* { dg-warning "conversion" } */ - ffloat (3.1L); /* { dg-warning "conversion" } */ - vfloat = 3.1L; /* { dg-warning "conversion" } */ - fdouble (3.1L); /* { dg-warning "conversion" "" { target large_long_double } } */ - vdouble = 3.1L; /* { dg-warning "conversion" "" { target large_long_double } } */ - ffloat (vdouble); /* { dg-warning "conversion" } */ - vfloat = vdouble; /* { dg-warning "conversion" } */ - ffloat (vlongdouble); /* { dg-warning "conversion" } */ - vfloat = vlongdouble; /* { dg-warning "conversion" } */ - fdouble (vlongdouble); /* { dg-warning "conversion" "" { target large_long_double } } */ - vdouble = vlongdouble; /* { dg-warning "conversion" "" { target large_long_double } } */ - - - ffloat ((float) 3.1); - vfloat = (float) 3.1; - ffloat ((float) 3.1L); - vfloat = (float) 3.1L; - fdouble ((double) 3.1L); - vdouble = (double) 3.1L; - ffloat ((float) vdouble); - vfloat = (float) vdouble; - ffloat ((float) vlongdouble); - vfloat = (float) vlongdouble; - fdouble ((double) vlongdouble); - vdouble = (double) vlongdouble; - - - ffloat (3.0); - vfloat = 3.0; - ffloat (3.1f); - vfloat = 3.1f; - ffloat (0.25L); - vfloat = 0.25L; - - - fdouble (3.0); - vdouble = 3.0; - fdouble (3.1f); - vdouble = 3.1f; - fdouble (0.25L); - vdouble = 0.25L; - - flongdouble (3.0); - vlongdouble = 3.0; - flongdouble (3.1f); - vlongdouble = 3.1f; - flongdouble (0.25L); - vlongdouble = 0.25L; - - ffloat (f); - vfloat = f; - fdouble (f); - vdouble = f; - fdouble (d); - vdouble = d; - flongdouble (f); - vlongdouble = f; - flongdouble (d); - vlongdouble = d; - flongdouble (ld); - vlongdouble = ld; -} - - diff --git a/gcc/testsuite/gcc.dg/dg.exp b/gcc/testsuite/gcc.dg/dg.exp index 8526c58..3f71178 100644 --- a/gcc/testsuite/gcc.dg/dg.exp +++ b/gcc/testsuite/gcc.dg/dg.exp @@ -32,5 +32,9 @@ dg-init dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cSi\]]] \ "" $DEFAULT_CFLAGS +# C/C++ common tests. +dg-runtest [lsort [glob -nocomplain $srcdir/c-c++-common/*.\[cSi\]]] \ + " -Wc++-compat " "" + # All done. dg-finish diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 27a537c..e2fef18 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -3090,3 +3090,23 @@ proc check_effective_target_mpc_pow { } { } }] } + +# Return 1 if the language for the compiler under test is C. + +proc check_effective_target_c { } { + global tool + if [string match $tool "gcc"] { + return 1 + } + return 0 +} + +# Return 1 if the language for the compiler under test is C++. + +proc check_effective_target_c++ { } { + global tool + if [string match $tool "g++"] { + return 1 + } + return 0 +} |