[Bug c++/10416] 'unused variable' warning ignores ctor/dtor side-effects
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Jan 23 22:23:00 GMT 2006
------- Comment #10 from pinskia at gcc dot gnu dot org 2006-01-23 22:23 -------
(In reply to comment #9)
> Of course, the compiler (more precisely the middle-end) knows that the
> destructor has a side-effect. But GCC middle-end tends to have little
> knowledge of language specific idioms. Notice also that a is "used"
> from a very high level abstraction point of view -- not from byte-fiddling
> point of view. This is another instance of diagnostic PR better handed off
> to the front-end.
Actually the diagnostic is done in the front-end in cp/decl.c in poplevel.
/* Before we remove the declarations first check for unused variables. */
if (warn_unused_variable
&& !processing_template_decl)
for (decl = getdecls (); decl; decl = TREE_CHAIN (decl))
if (TREE_CODE (decl) == VAR_DECL
&& ! TREE_USED (decl)
&& ! DECL_IN_SYSTEM_HEADER (decl)
&& DECL_NAME (decl) && ! DECL_ARTIFICIAL (decl))
warning (0, "unused variable %q+D", decl);
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10416
More information about the Gcc-bugs
mailing list