+2009-08-26 Pádraig Brady <P@draigbrady.com>
+
+ ignore-value: handle pointer types, too
+ * lib/ignore-value.h (__attribute__): Remove definition.
+ (ignore_value): Remove use of "__attribute__ ((unused))" in favor
+ of a more concise and more-often effective "(void) i" statement.
+ (ignore_ptr): New function to suppress warnings from functions that
+ return pointers, and to make it explicit that one function doesn't
+ handle all cases.
+
2009-08-25 Bruno Haible <bruno@clisp.org>
dup2: work around a Linux bug.
-/* ignore a value to quiet a compiler warning
+/* ignore a function return without a compiler warning
- Copyright (C) 2008 Free Software Foundation, Inc.
+ Copyright (C) 2008-2009 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/* Written by Jim Meyering. */
-#ifndef __attribute__
-# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
-# define __attribute__(x)
-# endif
-#endif
-
-/* Use this function to avoid a warning when using a function declared with
+/* Use these functions to avoid a warning when using a function declared with
gcc's warn_unused_result attribute, but for which you really do want to
ignore the result. Traditionally, people have used a "(void)" cast to
indicate that a function's return value is deliberately unused. However,
"copy.c:233: warning: ignoring return value of 'fchown',
declared with attribute warn_unused_result". */
-static inline void
-ignore_value (int i __attribute__ ((__unused__)))
-{
- /* empty */
-}
+static inline void ignore_value (int i) { (void) i; }
+static inline void ignore_ptr (void* p) { (void) p; }
+/* FIXME: what about aggregate types? */