diff options
author | Ian Lance Taylor <ian@airs.com> | 2005-10-11 23:30:57 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2005-10-11 23:30:57 +0000 |
commit | 55792875db8332861380d621fc5a2877c5cc2617 (patch) | |
tree | 3007b19208ae47725cf5bc26f0466ed5c6e88769 /gcc/cp/cvt.c | |
parent | 0257e3837eb84c9f288c39cfbb3caa41badf9e3b (diff) | |
download | gcc-55792875db8332861380d621fc5a2877c5cc2617.zip gcc-55792875db8332861380d621fc5a2877c5cc2617.tar.gz gcc-55792875db8332861380d621fc5a2877c5cc2617.tar.bz2 |
re PR c++/8057 (Templates/non-templates and warnings about statements without effects)
cp/
PR c++/8057
* cvt.c (convert_to_void): Don't warn about unused values when
processing a template declaration.
testsuite/
PR c++/8057
* g++.dg/warn/noeffect7.C: New test.
* g++.dg/warn/noeffect2.C: Instantiate templates.
* g++.dg/warn/noeffect4.C: Instantiate template. Add new error
and warning.
From-SVN: r105273
Diffstat (limited to 'gcc/cp/cvt.c')
-rw-r--r-- | gcc/cp/cvt.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/cp/cvt.c b/gcc/cp/cvt.c index ac24e0a..ea3c496 100644 --- a/gcc/cp/cvt.c +++ b/gcc/cp/cvt.c @@ -910,7 +910,10 @@ convert_to_void (tree expr, const char *implicit) if (expr != error_mark_node && !VOID_TYPE_P (TREE_TYPE (expr))) { - if (implicit && warn_unused_value && !TREE_NO_WARNING (expr)) + if (implicit + && warn_unused_value + && !TREE_NO_WARNING (expr) + && !processing_template_decl) { /* The middle end does not warn about expressions that have been explicitly cast to void, so we must do so here. */ |