avr-libc-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] Re: [avr-libc-dev] RFD: more avr-libc API changes


From: Dave Hansen
Subject: Re: [avr-gcc-list] Re: [avr-libc-dev] RFD: more avr-libc API changes
Date: Fri, 09 Sep 2005 10:48:27 -0400

From: Joerg Wunsch <address@hidden>

As Wojtek Kaniewski wrote:

> What about the SIG_ prefix? If we'll move to something else than
> SIGNAL(), I think that it should be dropped or somehow hidden from
> the users.

Very good point.  I've been thinking about adding a second set of
vector names anyway.  Our names are completely self-invented.  In the
long run, I'd rather like to migrate the names as they appear in the
Atmel XML files, which incidentally also match those IAR is using.

So e.g., SIG_INTERRUPT0 would get an alias named INT0_vect.

Has anyone put any thought into how we might get avr-gcc to do something other than silently generate incorrect code when the user specifies an incorrect SIG_* (or *_vect) symbol? For example, if I try to write

  SIGNAL(SIG_INTERUPT0)

avr_gcc will happily accept this, but won't attach the routine to any interrupt. It will appear as if the interrupt never occurs, until someone examines the code and realizes it should have been

  SIGNAL(SIG_INTERRUPT0)

I don't have any great ideas, other than perhaps modifying SIG_* to be pure numeric values, moving the invocation of _VECTOR to SIGNAL, and creating a dummy variable like

  int _test_##NAME[NAME&0xF00];

within the SIGNAL macro.  Details left as an exercise to the reader.  ;-)

Regards,
  -=Dave






reply via email to

[Prev in Thread] Current Thread [Next in Thread]