------- Comment #10 from techrazy dot yang at gmail dot com  2008-07-11 07:41 
-------
(In reply to comment #1)
> From: "Christian Ehrhardt" <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED]
> Cc: [EMAIL PROTECTED]
> Subject: Re: c++/9381: stdcall attribute ignored in member function pointer 
> type
> Date: Tue, 21 Jan 2003 15:10:30 +0100
> 
>  On Tue, Jan 21, 2003 at 04:52:51AM -0000, [EMAIL PROTECTED] wrote:
>  > The attached file is miscompiled since the stdcall attribute is ignored in 
> the fp type definition.  The result it that in the function bar the 
> parameters are popped from the stack even though they have already been 
> removed by the called fucntion (f1 in this case).
>  
>  The answer to this non bug used to be: "The placement of your __attribute__
>  is wrong". This should be the proper placement:
>  
>  typedef int (__attribute__ ((stdcall)) foo::*fp)(int);
>  
>  However, with the new parser this gives a parse error :-(
>  The following gives a warning with 3.4 but works with all gcc versions, it
>  is documented as an extension though:
>  
>  typedef int (foo::*__attribute__ ((stdcall)) fp) (int);

I am afraid, but this did not work in gcc 4.3.0, now. I add this, but still
failed with a SIGFAULT...
I attach my litter test case file, please try to compile it with g++ 4.3.0, and
it will fail...


-- 

techrazy dot yang at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |techrazy dot yang at gmail
                   |                            |dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9381

Reply via email to