> > typedef void (*ifunc)() __attribute__((mode(SI)));
> > ifunc __attribute__((section(".resetvec"))) reset_vector = start;
> 
>  Maybe it is just me, but it seems more natural to have:
> typedef void (*long ifunc)();

You can use #defines to make it pretty:

#define far __attribute__((mode(SI)))

typedef void (* far ifunc)();
extern ifunc ivects[];

>  But short pointer have a use (reduce array size of pointers to
>  local objects),

I think you'll find that implementing this is much more of a project
that what I need long/short pointers for.  You want multiple *default*
pointer sizes; I just want an exception that the programmer can use
for odd cases.

Reply via email to