log2 as function not as macro

Igor Pechtchanski pechtcha@cs.nyu.edu
Mon Jun 14 20:37:00 GMT 2004


On 2004年6月14日, Dave Korn wrote:
> > -----Original Message-----
> > From: cygwin-owner On Behalf Of Corinna Vinschen
> > Sent: 14 June 2004 14:48
>> > On Jun 14 14:11, Johnny Willemsen wrote:
> > > Hi,
> > >
> > > Are there plans to deliver log2 as regular function instead of
> > > macro. The log2 as macro is hard to use in projects that also define
> > > a log2 function. I know, we can work around it, but it comes back
> > > and back again.
> >
> > You could ask this on the newlib list, newlib@
>> And the answer there will probably be that if your code depends on whether
> this function is a macro or a real function then your code is not valid C.
> The C language spec specifically says that implementations are free to
> provide library functions as macros as well as functions. See
>> http://www.opengroup.org/onlinepubs/009695399/basedefs/math.h.html
>> and in particular the lines that say "The following shall be declared as
> functions and may also be defined as macros. Function prototypes shall be
> provided."
>> So if your code has a problem with that, your code does not comply with
> the C language spec.
>> cheers,
> DaveK

Dave,
To be fair, the original poster described the exact problem:
> log2 as macro is hard to use in projects that also define a log2 function.
I'm not sure how your link can be reconciled with this, but at a guess,
projects that define a log2() function are expected to follow "#include
<math.h>" with "#undef log2".
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
 |\ _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`' -. ;-;;,_		igor@watson.ibm.com
 |,4- ) )-,_. ,\ ( `'-'		Igor Pechtchanski, Ph.D.
 '---''(_/--' `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
"I have since come to realize that being between your mentor and his route
to the bathroom is a major career booster." -- Patrick Naughton
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/


More information about the Cygwin mailing list

AltStyle によって変換されたページ (->オリジナル) /