* the GNU General Public License.
*
* Copyright 2003, 2004, 2005 Develer S.r.l. (http://www.develer.com/)
- * Copyright 2001, 2002, 2003 Bernardo Innocenti <bernie@codewiz.org>
+ * Copyright 2001, 2002, 2003 Bernie Innocenti <bernie@codewiz.org>
*
* -->
*
* \brief Additional support macros for compiler independance
*
* \version $Id$
- * \author Bernardo Innocenti <bernie@develer.com>
+ * \author Bernie Innocenti <bernie@codewiz.org>
*/
#ifndef BERTOS_COMPILER_H
#ifndef UNUSED_ARG
#define UNUSED_ARG(type,arg) type arg
#endif
-#define UNUSED UNUSED_ARG /* OBSOLETE */
#ifndef UNUSED_VAR
#define UNUSED_VAR(type,name) type name
#endif
*/
#if COMPILER_TYPEOF && COMPILER_STATEMENT_EXPRESSIONS
#define containerof(ptr, type, member) ({ \
- const typeof( ((type *)0)->member ) *_mptr = (ptr); /* type check */ \
- (type *)((char *)_mptr - offsetof(type, member)); \
+ typeof( ((type *)0)->member ) *_mptr = (ptr); /* type check */ \
+ (type *)(void *)((char *)_mptr - offsetof(type, member)); \
})
#else
#define containerof(ptr, type, member) \
- ( (type *)((char *)(ptr) - offsetof(type, member)) )
+ ( (type *)(void *)((char *)(ptr) - offsetof(type, member)) )
#endif
/** Issue a compilation error if the \a condition is false */