diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2013-09-04 08:57:26 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2013-09-04 08:57:26 +0000 |
commit | 0fbf438441177627c8b16dc898af7e1211723fc1 (patch) | |
tree | b653c8dd35eec8b62ecd7348a6377136416bf172 /gcc | |
parent | 7bacbe5c8a4e9dc1fac12da706753a47f8e78e14 (diff) | |
download | gcc-0fbf438441177627c8b16dc898af7e1211723fc1.zip gcc-0fbf438441177627c8b16dc898af7e1211723fc1.tar.gz gcc-0fbf438441177627c8b16dc898af7e1211723fc1.tar.bz2 |
re PR c++/58305 (Deprecation warning for class not raised when not assigning to a variable)
/cp
2013-09-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58305
* typeck2.c (build_functional_cast): Maybe warn_deprecated_use.
/testsuite
2013-09-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58305
* g++.dg/warn/deprecated-8.C: New.
From-SVN: r202242
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/typeck2.c | 9 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/warn/deprecated-8.C | 15 |
4 files changed, 33 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 823046b..c28f114 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2013-09-03 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/58305 + * typeck2.c (build_functional_cast): Maybe warn_deprecated_use. + 2013-09-03 Mike Stump <mikestump@comcast.net> * Make-lang.in (cp/lambda.o): Add dependencies. diff --git a/gcc/cp/typeck2.c b/gcc/cp/typeck2.c index 7932939..8882816 100644 --- a/gcc/cp/typeck2.c +++ b/gcc/cp/typeck2.c @@ -1761,7 +1761,14 @@ build_functional_cast (tree exp, tree parms, tsubst_flags_t complain) return error_mark_node; if (TREE_CODE (exp) == TYPE_DECL) - type = TREE_TYPE (exp); + { + type = TREE_TYPE (exp); + + if (complain & tf_warning + && TREE_DEPRECATED (type) + && DECL_ARTIFICIAL (exp)) + warn_deprecated_use (type, NULL_TREE); + } else type = exp; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index dbc88b1..40a7522 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-09-04 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/58305 + * g++.dg/warn/deprecated-8.C: New. + 2013-09-03 Jeff Law <law@redhat.com> * tree-ssa/ssa-dom-thread-3.c: Update due to changes in debug diff --git a/gcc/testsuite/g++.dg/warn/deprecated-8.C b/gcc/testsuite/g++.dg/warn/deprecated-8.C new file mode 100644 index 0000000..8018110 --- /dev/null +++ b/gcc/testsuite/g++.dg/warn/deprecated-8.C @@ -0,0 +1,15 @@ +// PR c++/58305 + +class ToBeDeprecated { +} __attribute__ ((deprecated ("deprecated!"))); + +typedef ToBeDeprecated NotToBeDeprecated; // { dg-warning "'ToBeDeprecated' is deprecated" } + +int main() { + + ToBeDeprecated(); // { dg-warning "'ToBeDeprecated' is deprecated" } + ToBeDeprecated x; // { dg-warning "'ToBeDeprecated' is deprecated" } + + NotToBeDeprecated(); + NotToBeDeprecated y; +} |