Doing

  (void)var;

does not 'use' the var, eg: 

  void f()
  {
     int i = 6; // or a fn call whose return value you don't care about
     (void)i;
  }

j...@shade:~$ g++ -Wall -Wextra unused.cpp
unused.cpp: In function ‘void f()’:
unused.cpp:3:8: warning: variable ‘i’ set but not used
[-Wunused-but-set-variable]

Doing this (void)var; trick is a long-standing way to quiet 'unused' warnings -
eg in g++ 4.4.3 there is no warning. 

Version used:

j...@shade:~$ g++ --version
g++ (GCC) 4.6.0 20100508 (experimental)


-- 
           Summary: (void)var; doesn't prevent 'set but not used' warning
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: minor
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jeffrey dot donner at gmail dot com
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44062

Reply via email to