aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel López-Ibáñez <manu@gcc.gnu.org>2009-08-10 17:10:50 +0000
committerManuel López-Ibáñez <manu@gcc.gnu.org>2009-08-10 17:10:50 +0000
commit812a5d4b7e983a208446efe4c747c528228bcb28 (patch)
tree352301eb3294920cdfe083b4364bd8e49419309a
parent0159ec792b364e3b675d606ee66700a4c373bd1f (diff)
downloadgcc-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/ChangeLog10
-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.exp4
-rw-r--r--gcc/testsuite/g++.dg/warn/Wconversion-real.C85
-rw-r--r--gcc/testsuite/gcc.dg/dg.exp4
-rw-r--r--gcc/testsuite/lib/target-supports.exp20
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
+}