Is this a bug in the standard?

Norman Diamond diamond at diamond.csl.sony.junet
Mon May 8 11:08:06 AEST 1989


I just wrote:

>But if you're content to wrap it in a struct, you get type-safety:
>
>union bar_t;
>
>typedef int foo_t (union bar_t);   /* gets a warning from gcc 1.32 */

Correction, gets an _error_ from gcc 1.32.  You have to pass a pointer
to the struct.

typedef union bar_t *bar_ptr_t;

typedef int foo_t (bar_ptr_t);      /* gets a warning from gcc 1.32 */

>typedef foo_t *foo_ptr_t;
>
>typedef union bar_t {
>    foo_ptr_t foo_ptr;
>} bar_t;
>
>foo_t foo;                         /* your prototype is done, sir */
>
>bar_t make_bar (foo_ptr_t a_foo_ptr)

Uh, make_bar_ptr ....

>{
>    bar_t my_bar;

Uh, ummm, hmmmmm......

--
Norman Diamond, Sony Computer Science Lab (diamond%csl.sony.co.jp at relay.cs.net)
  The above opinions are my own.   |  Why are programmers criticized for
  If they're also your opinions,   |  re-inventing the wheel, when car
  you're infringing my copyright.  |  manufacturers are praised for it?



More information about the Comp.std.c mailing list