diff options
author | Gabriel Dos Reis <gdr@integrable-solutions.net> | 2003-06-21 13:09:05 +0000 |
---|---|---|
committer | Gabriel Dos Reis <gdr@gcc.gnu.org> | 2003-06-21 13:09:05 +0000 |
commit | dfbeb0610efc06efbbf071c0a05bde9361ca8ed7 (patch) | |
tree | ce0dcd6d60bc043fa0be4502f811ca419e63f5da | |
parent | 6f705fc773fd7425f13fb45931f783d613e553de (diff) | |
download | gcc-dfbeb0610efc06efbbf071c0a05bde9361ca8ed7.zip gcc-dfbeb0610efc06efbbf071c0a05bde9361ca8ed7.tar.gz gcc-dfbeb0610efc06efbbf071c0a05bde9361ca8ed7.tar.bz2 |
re PR c++/10915 (a not-useful non-avoidable warning: conversion to a reference to the same type will never use a type conversion operator)
testsuite/
* g++.old-deja/g++.jason/conversion5.C: Adjust option.
* g++.old-deja/g++.bugs/900215_01.C: Likewise.
cp/
PR c++/10915
* decl.c (grok_op_properties): Warn possible confusing conversion
only if -Wconversion.
From-SVN: r68303
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/decl.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/warn/conversion-function-1.C | 8 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.bugs/900215_01.C | 2 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.jason/conversion5.C | 1 |
6 files changed, 23 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 88c91db..7f0c4ed 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2003-06-21 Gabriel Dos Reis <gdr@integrable-solutions.net> + + PR c++/10915 + * decl.c (grok_op_properties): Warn possible confusing conversion + only if -Wconversion. + 2003-06-20 Mark Mitchell <mark@codesourcery.com> PR c++/10749 diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index d73c0d0..f539842 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -12371,7 +12371,7 @@ grok_op_properties (tree decl, int friendp) && DERIVED_FROM_P (t, current_class_type)) what = "a base class"; - if (what) + if (what && warn_conversion) warning ("conversion to %s%s will never use a type conversion operator", ref ? "a reference to " : "", what); } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a0b9777..a947a8f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2003-06-21 Gabriel Dos Reis <gdr@integrable-solutions.net> + + * g++.old-deja/g++.jason/conversion5.C: Adjust option. + * g++.old-deja/g++.bugs/900215_01.C: Likewise. + 2003-06-20 Mark Mitchell <mark@codesourcery.com> PR c++/10888 diff --git a/gcc/testsuite/g++.dg/warn/conversion-function-1.C b/gcc/testsuite/g++.dg/warn/conversion-function-1.C new file mode 100644 index 0000000..878011c --- /dev/null +++ b/gcc/testsuite/g++.dg/warn/conversion-function-1.C @@ -0,0 +1,8 @@ +// Copyright (C) 2003 Free Software Foundation +// Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net> +// { dg-options "-Wno-conversion" } + +struct A { + operator A&(); +}; + diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900215_01.C b/gcc/testsuite/g++.old-deja/g++.bugs/900215_01.C index 7681057..c79a703 100644 --- a/gcc/testsuite/g++.old-deja/g++.bugs/900215_01.C +++ b/gcc/testsuite/g++.old-deja/g++.bugs/900215_01.C @@ -20,6 +20,8 @@ // 8/3/2000 (nathan): The std allows you to define such an op, but // it will never be called. [class.conv.fct]. Make it an unconditional warning. +// { dg-options "-Wconversion" } + struct struct0 { operator void (); // { dg-warning "" } operator void diff --git a/gcc/testsuite/g++.old-deja/g++.jason/conversion5.C b/gcc/testsuite/g++.old-deja/g++.jason/conversion5.C index e409fae..0031084 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/conversion5.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/conversion5.C @@ -1,4 +1,5 @@ // { dg-do assemble } +// { dg-options "-Wconversion" } struct A { }; struct B: public A { A a; |