This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC] Eliminate NESTED_ATTR_FUNC
- From: "Vladimir 'phcoder' Serbinenko" <phcoder at gmail dot com>
- To: Paolo Bonzini <bonzini at gnu dot org>
- Cc: The development of GRUB 2 <grub-devel at gnu dot org>, gcc at gnu dot org
- Date: Thu, 3 Sep 2009 18:52:32 +0200
- Subject: Re: [RFC] Eliminate NESTED_ATTR_FUNC
- References: <d7ead6de0909010642yd2e4a96r565ce5328d65b078@mail.gmail.com> <ca0f59980909010843w2bf56745j138f479732b1f721@mail.gmail.com> <ca0f59980909012120m2c422e6flef0e9ba607036542@mail.gmail.com> <d7ead6de0909030806p606d67deq8d0687e97596dd11@mail.gmail.com> <4A9FE6AD.9010509@gnu.org>
On Thu, Sep 3, 2009 at 5:54 PM, Paolo Bonzini<bonzini@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