------- Comment #18 from djdragonboy at gmail dot com 2010-04-22 18:40 -------
I should have been more aggressive in my searches; filed a duplicate bug report
#43840. I have a small test case there that compiles fine under 4.6.0 with -O1
but fails on this bug with -O1 -finline-small-functions:
typedef unsigned long int (*a)(unsigned long int *);
extern __inline__ unsigned long int e(unsigned long int *d){
unsigned long int r;
u(r,d);
return r;
}
a s(a f){
return f;
}
int main(void){
unsigned long int b[1];
unsigned long int c;
int i;
for(i=0;i<1;i++){
c=(*s(e))(b);
c=(*s(e))(b);
}
return 0;
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43791