aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2008-07-09 20:52:45 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2008-07-09 20:52:45 +0000
commit3d7c63cf96836d9894169c11aeb25fc9cbcee827 (patch)
tree013664b85b80ec19e86e0c4a03f09d4e8c65d201
parent256f27f13cbdfdfc5143b422c2b4a11f234a56e8 (diff)
downloadgcc-3d7c63cf96836d9894169c11aeb25fc9cbcee827.zip
gcc-3d7c63cf96836d9894169c11aeb25fc9cbcee827.tar.gz
gcc-3d7c63cf96836d9894169c11aeb25fc9cbcee827.tar.bz2
re PR c++/36760 (Simple std::bind use causes warnings with -Wextra)
/cp 2008-07-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/36760 * pt.c (tsubst_function_type): Remove warning for type qualifiers on function return type. /testsuite 2008-07-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/36760 * g++.dg/warn/Wreturn-type-4.C: Adjust. From-SVN: r137672
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/pt.c8
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/warn/Wreturn-type-4.C2
4 files changed, 12 insertions, 9 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index b68a795..2143fe2 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,6 +1,12 @@
2008-07-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/36760
+ * pt.c (tsubst_function_type): Remove warning for type qualifiers
+ on function return type.
+
+2008-07-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/36760
* pt.c (tsubst_function_type): Don't warn for type qualifiers
on function return type in case of system header.
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 3fee994..b54c9d1 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -8765,14 +8765,6 @@ tsubst_function_type (tree t,
if (arg_types == error_mark_node)
return error_mark_node;
- if (TYPE_QUALS (return_type) != TYPE_UNQUALIFIED
- && in_decl != NULL_TREE
- && !TREE_NO_WARNING (in_decl)
- && !DECL_IN_SYSTEM_HEADER (in_decl)
- && (SCALAR_TYPE_P (return_type) || VOID_TYPE_P (return_type)))
- warning (OPT_Wignored_qualifiers,
- "type qualifiers ignored on function return type");
-
/* Construct a new type node and return it. */
if (TREE_CODE (t) == FUNCTION_TYPE)
fntype = build_function_type (return_type, arg_types);
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index a71c1cc..1ddae4e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2008-07-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/36760
+ * g++.dg/warn/Wreturn-type-4.C: Adjust.
+
2008-07-09 Richard Sandiford <rdsandiford@googlemail.com>
PR target/35802
diff --git a/gcc/testsuite/g++.dg/warn/Wreturn-type-4.C b/gcc/testsuite/g++.dg/warn/Wreturn-type-4.C
index 20c34a8..4f02678 100644
--- a/gcc/testsuite/g++.dg/warn/Wreturn-type-4.C
+++ b/gcc/testsuite/g++.dg/warn/Wreturn-type-4.C
@@ -16,7 +16,7 @@ template<typename T> const T getfoo(const T def) /* { dg-bogus "type qualifiers
template<typename T> class Pair
{
public:
- T getLeft() const { return T(); } /* { dg-warning "type qualifiers ignored" } */
+ T getLeft() const { return T(); } /* { dg-bogus "type qualifiers ignored" } */
const T getRight() const { return T(); } /* { dg-bogus "type qualifiers ignored" } */
};