OSDN Git Service

2009-08-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
authormanu <manu@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 10 Aug 2009 17:10:50 +0000 (17:10 +0000)
committermanu <manu@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 10 Aug 2009 17:10:50 +0000 (17:10 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150627 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/Wconversion-real.c [moved from gcc/testsuite/gcc.dg/Wconversion-real.c with 95% similarity]
gcc/testsuite/g++.dg/dg.exp
gcc/testsuite/g++.dg/warn/Wconversion-real.C
gcc/testsuite/gcc.dg/dg.exp
gcc/testsuite/lib/target-supports.exp

index 211381f..2f7c1b2 100644 (file)
@@ -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
similarity index 95%
rename from gcc/testsuite/gcc.dg/Wconversion-real.c
rename to gcc/testsuite/c-c++-common/Wconversion-real.c
index ed7371b..464aab0 100644 (file)
@@ -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;
index a19bc2c..54fc225 100644 (file)
@@ -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
index f769bac..e69de29 100644 (file)
@@ -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;
-}
-
-
index 8526c58..3f71178 100644 (file)
@@ -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
index 27a537c..e2fef18 100644 (file)
@@ -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
+}