This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Georg-Johann Lay <avr@gjlay.de> writes:
Hi, suppose this test case of C code:
typedef void (*cb_t)(void) __attribute__((callback));
void caller (cb_t cb) { cb(); }
What I need in the backend is a way to query for the attributs that are attaches to callees like 'cb'.
./config/i386/winnt.c uses TARGET_MANGLE_DECL_ASSEMBLER_NAME in order to encode some information in the callee's name, but in my case the call may be indirect as indicated above.
It may work to look at the MEM_EXPR of the call operand and look at DECL_ATTRIBUTES of that.
struct S { void (*foo)(void); void (*cb)(void) __attribute__((callback)); };
void caller (struct S s, struct S *ps) { s.cb(); // #1 ps->cb(); // #2 }
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |