------- 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