Messages in this thread | | | Date | Mon, 17 Mar 2003 20:11:06 +0100 | From | Manfred Spraul <> | Subject | Re: Why is get_current() not const function? |
| |
Is it possible to use __attribute__((const) with inline functions? I tried that, but it seems that gcc ignores __attribute__((const) and looks at the contents of the function instead.
I've tried the attached test app: With gcc-3.2.1 (gcc -O3), and "inlconst" was called 10 times, constfnc only once.
-- Manfred #include <stdio.h> #include <stdlib.h>
static int constfnc(int x) __attribute__((const));
static inline int inlconst(int x) __attribute__((const));
static void dummy(int i);
static inline int inlconst(int x) { printf("in inlconst.\n"); return 2; }
int main(void) { int i; for(i=0;i<10;i++) { dummy(constfnc(0)); } for (i=0;i<10;i++) { dummy(inlconst(0)); } }
int constfnc(int x) { printf("in const.\n"); return 1; }
void dummy(int i) { }
| |