re PR c++/10784 (Warning about choosing custom operator over copy constructor cannot...
authorGabriel Dos Reis <gdr@integrable-solutions.net>
Sat, 21 Jun 2003 17:39:58 +0000 (17:39 +0000)
committerGabriel Dos Reis <gdr@gcc.gnu.org>
Sat, 21 Jun 2003 17:39:58 +0000 (17:39 +0000)
cp/
        PR c++/10784
        * call.c (joust): Warn about choosing conversion sequence only if
        -Wconversion.

testsuite/
        * g++.old-deja/g++.benjamin/16077.C: Add -Wconversion option.
        * g++.old-deja/g++.other/conv7.C: Likewise
        * g++.old-deja/g++.other/overcnv2.C: Likewise.
        * g++.old-deja/g++.other/overload14.C: Likewise.

From-SVN: r68312

gcc/cp/ChangeLog
gcc/cp/call.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.old-deja/g++.benjamin/16077.C
gcc/testsuite/g++.old-deja/g++.other/conv7.C
gcc/testsuite/g++.old-deja/g++.other/overcnv2.C
gcc/testsuite/g++.old-deja/g++.other/overload14.C

index 0e679c9268ba7274f5de15b548999e0eba9ea0ea..7809040519e2af382fa81b3c68408d37072d7bc6 100644 (file)
@@ -1,6 +1,12 @@
+2003-06-21  Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+       PR c++/10784
+       * call.c (joust): Warn about choosing conversion sequence only if
+       -Wconversion.
+
 2003-06-21  Gabriel Dos Reis  <gdr@integrable-solutions.net>
 
-       PC c++/10864
+       PR c++/10864
        * call.c (op_error): Tidy.
        * error.c (dump_expr): Properly format 'T()' when T is an
        aggregate type.
index 48e36421223cc018dc23c8baebc9b786dbeb1eee..bb1ad5b91bce2bdb76da509e31c241850bbe1f7a 100644 (file)
@@ -5807,7 +5807,7 @@ joust (struct z_candidate *cand1, struct z_candidate *cand2, bool warn)
       
       if (!give_warning)
        /*NOP*/;
-      else if (warn)
+      else if (warn && warn_conversion)
        {
          tree source = source_type (TREE_VEC_ELT (w->convs, 0));
          if (! DECL_CONSTRUCTOR_P (w->fn))
index a947a8fc5e008777c19719893727b1a6b6bf954f..4e3c4cf24fd7190173dc90cfae0ffce61049a3df 100644 (file)
@@ -1,3 +1,10 @@
+2003-06-21  Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+        * g++.old-deja/g++.benjamin/16077.C: Add -Wconversion  option.
+        * g++.old-deja/g++.other/conv7.C: Likewise
+        * g++.old-deja/g++.other/overcnv2.C: Likewise.
+        * g++.old-deja/g++.other/overload14.C: Likewise.
+
 2003-06-21  Gabriel Dos Reis <gdr@integrable-solutions.net>
 
        * g++.old-deja/g++.jason/conversion5.C: Adjust option.
index edffef2ae076bb965078a036470bbecbce338483..9f854b5e189b19492fa091a203f147dc150c71db 100644 (file)
@@ -1,6 +1,7 @@
 // { dg-do assemble  }
 // 981203 bkoz
 // g++/16077
+// { dg-options "-Wconversion" }
 
 class nicaragua;
 struct colombia {
index 71ec204254855af3ec0087469f8d5d1c647173d4..7042e147ca5559c1925c520fe6c6323b61f1fe54 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do assemble  }
+// { dg-options "-Wconversion" }
 // 
 // Copyright (C) 2001 Free Software Foundation, Inc.
 // Contributed by Nathan Sidwell 5 May 2001 <nathan@codesourcery.com>
index ab877d109932962b6f168755f4c89f82a69d7213..ef9c1f7823b8181044627c666e29a9955950c578 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do assemble  }
+// { dg-options "-Wconversion" } 
 // Test that we resolve this case as mandated by the standard, but also
 // warn about it.  We choose op char* not because it is a member of B --
 // the standard says that all conversion ops are treated as coming from
index 28d5f47e42a5faa56b4dd9729b72305054e98917..2a50b1bf5104e9ed9ee29b70e738bd7bc319780b 100644 (file)
@@ -1,4 +1,5 @@
 // { dg-do run  }
+// { dg-options "-Wconversion" }
 extern "C" void abort();
 
 struct A {