Jonathan Nieder <jrnieder@xxxxxxxxx> writes: > Junio C Hamano wrote: > >> It seems to apply well on the tip of jk/gcc-function-attributes. >> >> - This macro is not about "git" at all, so I'll edit the patch to >> call it GCC_ATTR_SENTINEL before applying. > > Would naming it something like LAST_ARG_MUST_BE_NULL instead make > sense? That way, if some other compiler gains a different syntax for > the same annotation, it would be possible to do > > #if defined(__GNUC__) && __GNUC__ >= 4 > # define LAST_ARG_MUST_BE_NULL __attribute__((sentinel)) > #elif defined(_MSC_VER) && _MSC_VER > 27 > # define LAST_ARG_MUST_BE_NULL __declspec(lastargnull) > #else > # define LAST_ARG_MUST_BE_NULL > #endif I do like last-arg-must-be-null name for its descriptiveness; with the example of NORETURN vs NORETURN_PTR, however, I am not quite convinced that it would help reusing the same macro to different compilers. I would say it is already sheer luck that GCC's __attribute__(()) and MSC's __declspec() both come at the same place in the function declaration syntax, i.e. before the usual declaration. Your next compiler may want the magic immediately before the closing semicolon of the declaration, for example. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html