Stefan Krah, 04.01.2014 21:00: > Probably Rietveld did not send mail, so I mention my review comments again: > > larry.hastings wrote: >> +#ifdef __GNUC__ >> +#define Py_UNUSED(name) _unused_ ## name __attribute__((unused)) >> +#else >> +#define Py_UNUSED(name) _unused_ ## name >> +#endif >> + > > The Intel compiler defines __GNUC__ but chokes on the __attribute__(). > > This works: > > #if defined(__GNUC__) && !defined(__INTEL_COMPILER)
We use this in Cython and according to the mailing list echo, it would seem that there are people running it through Intel's compiler as well: """ #ifndef CYTHON_UNUSED # if defined(__GNUC__) # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) # define CYTHON_UNUSED __attribute__ ((__unused__)) # else # define CYTHON_UNUSED # endif # elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER)) # define CYTHON_UNUSED __attribute__ ((__unused__)) # else # define CYTHON_UNUSED # endif #endif """ I wonder why this works, though, given that you say Intel doesn't support "__attribute__". The only difference I can spot is the space behind it. In any case, I agree that the right way to do it is a bit more complex than in the original commit. Stefan _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com