On Thu, Sep 3, 2009 at 5:54 PM, Paolo Bonzini<bonz...@gnu.org> wrote: > >>> #include<stdio.h> >>> >>> void foo (int a, int b, void (*hook) (int aa, int bb, int cc)) >>> { >>> b += a; >>> hook (a, b, a + b); >>> } >>> >>> void qq (int a) >>> { >>> auto void q1 (int aa, int bb, int cc); >>> void q1 (int aa, int bb, int cc) >>> { >>> printf ("%d %d %d\n", a, aa + bb, cc); >>> } >>> >>> foo (a, a + 1, q1); >>> } >>> >>> int main() >>> { >>> qq (10); >>> } >>> >>> Compile with: >>> gcc -m32 -mregparm=3 -Os test.c >>> >>> ./a.out >>> 10 31 -6674368 > > Ok, this was the only important part of the message to us GCC hackers. :-) > > Can you please report a bug in bugzilla, saying which versions work and > which fail? Also can you write in the report what was your analysis with > respect to regparm? Done by Robert Millan here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41246 > > Thanks! > > Paolo >
-- Regards Vladimir 'phcoder' Serbinenko Personal git repository: http://repo.or.cz/w/grub2/phcoder.git