------- Comment #1 from pinskia at gcc dot gnu dot org 2008-03-14 04:54 ------- This is the design of warn_unused_result, you cannot ignore the value, that is why casting to void does not work.
The warning happens in the front-end so we don't know if you really ignore the value if you don't use the actually variable. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35579