On 5/22/07, Satyam Sharma <[EMAIL PROTECTED]> wrote:
On 5/22/07, Robert P. J. Day <[EMAIL PROTECTED]> wrote: > On Tue, 22 May 2007, John Anthony Kazos Jr. 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? > > > > Since it evaluates to absolutely empty code during pre-processing, > > there is no obvious value. The question is whether there is some odd > > hackish non-obvious value, I'd expect. (I'd also expect that to be > > another "no".) > > > > If something that evaluates to nothingness ("There was nothing > > left...not even a hole!") actually does anything, then somebody in > > the standards-compilers-users pipeline needs to be violently beaten > > for stupidity. > > > actually, one of the folks on the KJ list found this: > > http://www.ussg.iu.edu/hypermail/linux/kernel/9605/1957.html > > which speaks thusly: > > ... > -#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) > -# define NORET_TYPE __volatile__ > -# define ATTRIB_NORET /**/ > -# define NORET_AND /**/ > -#else > # define NORET_TYPE /**/ > # define ATTRIB_NORET __attribute__((noreturn)) > # define NORET_AND noreturn, > -#endif > ... > > so it looks like a thoroughly obsolete macro which can be tossed. > i'll make the patch and test it.AFAICT, NORET_TYPE must've been introduced to silence gcc _warnings_, and not do actually do anything useful that affects functionality in any way. So the way to "test" your patch would be to see if there is any increase / decrease in the number of *warnings* blurted out by gcc during kernel build (best would be to build with various gcc versions on various platforms :-)
But of course, John is *bang right* that if /**/ makes gcc do (or not do) _anything at all_ (be it crying out a warning), then someone surely deserves to get his head bashed in ... :-) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

