X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcfg%2Fcompiler.h;h=87cdd9425a4159617880e40e2a803d929089a397;hb=2a398044dd1d7b2af34a96c19ad378c25b546579;hp=7357f43f69789bdb380192795a18e5fc59121c6e;hpb=0eeba5822b3ff0e76ae0fd0272536d371d272d7d;p=bertos.git diff --git a/bertos/cfg/compiler.h b/bertos/cfg/compiler.h index 7357f43f..87cdd942 100644 --- a/bertos/cfg/compiler.h +++ b/bertos/cfg/compiler.h @@ -500,12 +500,12 @@ typedef unsigned char page_t; /**< Type for banked memory pages. */ */ #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 */