On Tue, May 22, 2007 at 10:04:16AM -0400, Robert P. J. Day wrote:
> On Tue, 22 May 2007, Adrian Bunk wrote:
>
> > On Tue, May 22, 2007 at 09:09:22AM -0400, Robert P. J. Day wrote:
> > >
> > > given that:
> > >
> > > $ grep -r "define.*NORET_TYPE" *
> > > include/linux/ext4_fs.h:# define NORET_TYPE /**/
> > > include/linux/linkage.h:#define NORET_TYPE /**/
> > > include/linux/ext3_fs.h:# define NORET_TYPE /**/
> > > $
> > >
> > > is there any obvious value to the 30 or so uses of that macro
> > > sprinkled throughout the tree?
> >
> > I can be mistaken, but it seems the uses should be replaced with your
> > __noreturn
>
> no, i think you're thinking of the alternative ATTRIB_NORET macro.
> as you can read in my previous post, NORET_TYPE used to resolve to
> "__volatile__" for very old gcc. so i think it's legitimately dead
> and can be ripped out.
No doubt that it could be removed because it doesn't have any effect.
But locking at the usages, it seems to have been used when people
thought it was what __noreturn now is, so replacing NORET_TYPE with
__noreturn might be a small optimization (but every NORET_TYPE should
be checked that it's actually correct).