From 812a5d4b7e983a208446efe4c747c528228bcb28 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Manuel=20L=C3=B3pez-Ib=C3=A1=C3=B1ez?= Date: Mon, 10 Aug 2009 17:10:50 +0000 Subject: [PATCH] dg.exp: Test also c-c++-common dir. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 2009-08-10 Manuel López-Ibáñez 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 --- gcc/testsuite/ChangeLog | 10 +++ .../Wconversion-real.c | 3 +- gcc/testsuite/g++.dg/dg.exp | 4 + gcc/testsuite/g++.dg/warn/Wconversion-real.C | 85 ------------------- gcc/testsuite/gcc.dg/dg.exp | 4 + gcc/testsuite/lib/target-supports.exp | 20 +++++ 6 files changed, 40 insertions(+), 86 deletions(-) rename gcc/testsuite/{gcc.dg => c-c++-common}/Wconversion-real.c (95%) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 211381f9a1e..2f7c1b2d6c2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,13 @@ +2009-08-10 Manuel López-Ibáñez + + * 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 PR fortran/37425 diff --git a/gcc/testsuite/gcc.dg/Wconversion-real.c b/gcc/testsuite/c-c++-common/Wconversion-real.c similarity index 95% rename from gcc/testsuite/gcc.dg/Wconversion-real.c rename to gcc/testsuite/c-c++-common/Wconversion-real.c index ed7371b5123..464aab05579 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 a19bc2c2b60..54fc225f4f8 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 f769bacdd4c..e69de29bb2d 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 8526c5866fb..3f71178f98e 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 27a537c6a08..e2fef1894e8 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 +} -- 2.30.2