Make function pointer defined with METHOD() macro non-const

clang complains about it being const, and the object code
generated from gcc is the same.
This commit is contained in:
Martin Willi 2012-05-14 14:10:00 +02:00
parent 2e1f4a4631
commit d185b6acee

View File

@ -135,7 +135,7 @@
#define METHOD(iface, name, ret, this, ...) \
static ret name(union {iface *_public; this;} \
__attribute__((transparent_union)), ##__VA_ARGS__); \
static const typeof(name) *_##name = (const typeof(name)*)name; \
static typeof(name) *_##name = (typeof(name)*)name; \
static ret name(this, ##__VA_ARGS__)
/**
@ -144,7 +144,7 @@
#define METHOD2(iface1, iface2, name, ret, this, ...) \
static ret name(union {iface1 *_public1; iface2 *_public2; this;} \
__attribute__((transparent_union)), ##__VA_ARGS__); \
static const typeof(name) *_##name = (const typeof(name)*)name; \
static typeof(name) *_##name = (typeof(name)*)name; \
static ret name(this, ##__VA_ARGS__)
/**