Re: [RFC/PATCH] Add the NO_SENTINEL build variable
Junio C Hamano wrote: > Ramsay Jones writes: > >> Jonathan Nieder wrote: >>> Ramsay Jones wrote: >>> One of the three gcc compilers that I use does not understand the sentinel function attribute. (so, it spews 108 warning messages) >>> >>> Do you know what version of gcc introduced the sentinel attribute? >>> Would it make sense for the ifdef in git-compat-util.h to be keyed on >>> __GNUC__ and __GNUC_MINOR__ instead of a new makefile flag? >>> >> >> I have on old (v4.2.1) gcc repo on Linux and looking at >> >> ~/gcc-4.2.1/gcc/ChangeLog-2004 >> >> I can see that the sentinel attribute was added on 2004-09-04 by >> Kaveh R. Ghazi. >> >> Also, I find "bump version string to version 4.0.0" was on 2004-09-09 >> and "bump version string to version 3.5.0" was on 2004-01-16. >> >> Several of my system header files (on Linux) imply that the >> sentinel attribute is supported by __GNUC__ >= 4. (One of them, >> ansidecl.h, states that gcc 3.5 supports it but ...) > > Perhaps a message from yesterday would have helped? > > http://article.gmane.org/gmane.comp.version-control.git/230633 > > seems to indicate that checking for version 4 is sufficient. > > Also I asked you to split the __attribute__((sentinel(n)) support > into a separate patch. We currently do not pass anything but 0 > (meaning, the sentinel is always at the end), and SENTINEL in all > capital is easy enough to grep for when somebody _does_ want to have > such a support, so I'd prefer not to see __attribute__((sentinel(n)) > until it becomes necessary. Sorry, but I didn't see any of these emails before sending this and the subsequent patch email. :( I can sometimes be away from email for several days at a time (and then spend days trying to read the backlog - I'm on *far* too many mailing lists!). [The internet went black on me last night; I couldn't see anything outside of my ISP's servers (and not all of those). I also couldn't get any answer at the support phone number, so I probably wasn't the only one ...] ATB, Ramsay Jones -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RFC/PATCH] Add the NO_SENTINEL build variable
Ramsay Jones writes: > Jonathan Nieder wrote: >> Ramsay Jones wrote: >> >>> One of the three gcc compilers that I use does not understand the >>> sentinel function attribute. (so, it spews 108 warning messages) >> >> Do you know what version of gcc introduced the sentinel attribute? >> Would it make sense for the ifdef in git-compat-util.h to be keyed on >> __GNUC__ and __GNUC_MINOR__ instead of a new makefile flag? >> > > I have on old (v4.2.1) gcc repo on Linux and looking at > > ~/gcc-4.2.1/gcc/ChangeLog-2004 > > I can see that the sentinel attribute was added on 2004-09-04 by > Kaveh R. Ghazi. > > Also, I find "bump version string to version 4.0.0" was on 2004-09-09 > and "bump version string to version 3.5.0" was on 2004-01-16. > > Several of my system header files (on Linux) imply that the > sentinel attribute is supported by __GNUC__ >= 4. (One of them, > ansidecl.h, states that gcc 3.5 supports it but ...) Perhaps a message from yesterday would have helped? http://article.gmane.org/gmane.comp.version-control.git/230633 seems to indicate that checking for version 4 is sufficient. Also I asked you to split the __attribute__((sentinel(n)) support into a separate patch. We currently do not pass anything but 0 (meaning, the sentinel is always at the end), and SENTINEL in all capital is easy enough to grep for when somebody _does_ want to have such a support, so I'd prefer not to see __attribute__((sentinel(n)) until it becomes necessary. Thanks. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RFC/PATCH] Add the NO_SENTINEL build variable
Jonathan Nieder wrote: > Ramsay Jones wrote: > >> One of the three gcc compilers that I use does not understand the >> sentinel function attribute. (so, it spews 108 warning messages) > > Do you know what version of gcc introduced the sentinel attribute? > Would it make sense for the ifdef in git-compat-util.h to be keyed on > __GNUC__ and __GNUC_MINOR__ instead of a new makefile flag? > I have on old (v4.2.1) gcc repo on Linux and looking at ~/gcc-4.2.1/gcc/ChangeLog-2004 I can see that the sentinel attribute was added on 2004-09-04 by Kaveh R. Ghazi. Also, I find "bump version string to version 4.0.0" was on 2004-09-09 and "bump version string to version 3.5.0" was on 2004-01-16. Several of my system header files (on Linux) imply that the sentinel attribute is supported by __GNUC__ >= 4. (One of them, ansidecl.h, states that gcc 3.5 supports it but ...) ATB, Ramsay Jones -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RFC/PATCH] Add the NO_SENTINEL build variable
Junio C Hamano writes: > Also do we know what version of GCC started supporting this > attribute? http://gcc.gnu.org/gcc-4.0/changes.html mentions it in > "New Languages and Language specific improvements" section, but the > page also says "The latest release in the 4.0 release series is GCC > 4.0.4", so it is not clear if 4.0 had it, or it was added somewhere > between 4.0 and 4.0.4 to me. Generally, gcc doesn't get new features added within the same minor version, only bug fixes. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RFC/PATCH] Add the NO_SENTINEL build variable
Ramsay Jones writes: > diff --git a/git-compat-util.h b/git-compat-util.h > index 9f1eaca..e846e01 100644 > --- a/git-compat-util.h > +++ b/git-compat-util.h > @@ -300,6 +300,12 @@ extern char *gitbasename(char *); > #endif > #endif > > +#if defined(__GNUC__) && !defined(NO_SENTINEL) > +#define SENTINEL(n) __attribute__((sentinel(n))) > +#else > +#define SENTINEL(n) > +#endif Allowing callers to use __attribute__((sentinel(1)), while it may be a good enhancement, does not belong to "some versions of GCC do not know what to do with the sentinel attribute". Making this change in a separate patch on top would be cleaner. Also do we know what version of GCC started supporting this attribute? http://gcc.gnu.org/gcc-4.0/changes.html mentions it in "New Languages and Language specific improvements" section, but the page also says "The latest release in the 4.0 release series is GCC 4.0.4", so it is not clear if 4.0 had it, or it was added somewhere between 4.0 and 4.0.4 to me. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [RFC/PATCH] Add the NO_SENTINEL build variable
Ramsay Jones wrote: > One of the three gcc compilers that I use does not understand the > sentinel function attribute. (so, it spews 108 warning messages) Do you know what version of gcc introduced the sentinel attribute? Would it make sense for the ifdef in git-compat-util.h to be keyed on __GNUC__ and __GNUC_MINOR__ instead of a new makefile flag? Thanks, Jonathan -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html