Re: any value to "NORET_TYPE" macro?

From: Adrian Bunk
Date: Fri May 25 2007 - 17:46:48 EST


On Fri, May 25, 2007 at 03:40:18PM -0400, Robert P. J. Day wrote:
> On Sat, 26 May 2007, Satyam Sharma wrote:
>
> > Hi Robert,
> >
> > On 5/25/07, Robert P. J. Day <rpjday@xxxxxxxxxxxxxx> wrote:
> > > On Fri, 25 May 2007, Satyam Sharma wrote:
> > > ...
> > > > 1. If this is a function _declaration_ (i.e. a prototype in some
> > > > header or some .c file), then remove the NORET_TYPE macro. Also,
> > > > if an ATTRIB_NORET or NORET_AND already exists then you're done.
> > > > Else, introduce an ATTRIB_NORET after the arglist but before ;
> > >
> > > actually, what i would be introducing in all cases is "__noreturn",
> > > the short form currently defined in compiler-gcc.h. and i would be
> > > removing every instance of ATTRIB_NORET and its buddies.
> >
> > Ummm ... you mean we're replacing all occurrences of ATTRIB_NORET
> > as well? Note that NORET_TYPE and ATTRIB_NORET are both defined
> > in the generic include/linux/linkage.h whereas __noreturn is in
> > compiler-gcc.h which is included only for gcc builds -- hence, my
> > preference for ATTRIB_NORET. Also, there is not even a single user of
> > __noreturn anywhere in the kernel code whereas ATTRIB_NORET is used
> > in all these places, which means it looks like to be the standard thing ...
> > Anyway, I'm fine either way.
>
> ah, i hadn't noticed that. i must think on this more. man, i thought
> this was going to be so simple. argh.

It's only an optimization, so defining __noreturn to nothing for other
compilers should work fine.

> rday

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/