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

--- Comment #6 from Brad <brad.lionberger at intel dot com> 2011-05-26 23:48:27 
UTC ---
(In reply to comment #5)
> (In reply to comment #3)
> > (In reply to comment #2)
> > > I forgot to mention GCC compiles it correctly with the C++ front-end.
> > 
> > Removing the typedefs will still cause compilation to error out not knowing
> > what a is.  For example:
> > 
> > // Forward declaration
> > struct a;  
> You've declared the type "struct a"
> > // Pointer to function with struct as parameter
> > typedef int (*FxnPointer)(a* WontComplie);
> You've tried to use "a" which is undeclared
> > // Actual declaration of struct with function pointer type declared above.
> > struct _a
> > {
> >     int foo;
> >     int bar;
> >     FxnPointer PtrToFxn;
> > } a;
> Now you've declared a variable called "a" with type "struct _a"

Ah, I see now!  Thank you very much.

Reply via email to