[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-libc-dev] Disable/Restore all Interrupts
From: |
Theodore A. Roth |
Subject: |
Re: [avr-libc-dev] Disable/Restore all Interrupts |
Date: |
Mon, 8 Sep 2003 13:22:44 -0700 (PDT) |
On Mon, 8 Sep 2003, E. Weddington wrote:
> > Eric Weddington stated (see
> > http://mail.nongnu.org/archive/html/avr-libc-dev/2003-
> 09/msg00003.html)
> > that some old version of pgmspace.h used braces in
> macros. I looked
> > for this and couldn't find the example.
>
> See, for instance, avr/pgmspace.h rev 1.9:
>
> <http://savannah.nongnu.org/cgi-bin/viewcvs/avr-libc/avr-
> libc/include/avr/pgmspace.h?rev=1.9&content-
> type=text/vnd.viewcvs-markup>
>
> Look at macros PSTR, __LPM_enhanced__, __LPM_classic__,
> etc. and you'll see parentheses as the first layer, then
> curly braces as the next layer. And in the case of the
> *LPM* macros, the braces enclose mixed C and inline
> assembly.
Those are not what I'm concerned about. All those examples open the
brace and close it within the _same_ macro. That's not a problem.
The submitted macros open the brace in one macro and then close it in
another macro. That, in most cases, is an abuse of the preprocessor.
Ted Roth