[Bug target/41246] should "sorry" when regparm=3 and nested functions are encountered
Graham Stott
graham.stott@btinternet.com
Thu Sep 3 18:01:00 GMT 2009
All,
nested functions get passed a hidden argumment akin to static link/display
so that nested function can access the locals of its enclosing function.
Passing a nested function as parameter to another function isn't going
to work correctly when the function is eventually called the
hidden argument isn't going to be setup correctly.
I think the code is thus invalid and GCC should reject it.
Regards
Graham
--- On Thu, 3/9/09, bonzini at gnu dot org <gcc-bugzilla@gcc.gnu.org> wrote:
> From: bonzini at gnu dot org <gcc-bugzilla@gcc.gnu.org>
> Subject: [Bug target/41246] should "sorry" when regparm=3 and nested functions are encountered
> To: gcc-bugs@gcc.gnu.org
> Date: Thursday, 3 September, 2009, 6:11 PM
>
>
> ------- Comment #5 from bonzini at gnu dot org
> 2009-09-03 17:11 -------
> Yes, if you use nested functions you can just use
> -mregparm=2 globally, that's
> a much better solution.
>
>
> --
>
> bonzini at gnu dot org changed:
>
> What
> |Removed
> |Added
> ----------------------------------------------------------------------------
>
> Status|UNCONFIRMED
> |NEW
> Ever Confirmed|0
>
> |1
> Last reconfirmed|0000-00-00
> 00:00:00 |2009-09-03
> 17:11:30
>
> date|
>
> |
> Summary|%ecx
> corruption when |should "sorry"
> when
>
> |combining -regparm=3
> with |regparm=3 and nested
>
> |nested functions
> |functions are encountered
>
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41246
>
>
More information about the Gcc-bugs
mailing list