Created attachment 55904 [details] Remove uses of __extension__ in memcheck.h Version: unspecified OS: Solaris Exim-4.73 now includes valgrind hooks and ships with copies of valgrind.h and memcheck.h. Valgrind.h has portability #ifdefs which memcheck.h depends on. However memcheck uses the __extension__ wrapper macro which is not defined on unsupported platforms. As far as I can tell this is unnecessary since VALGRIND_DO_CLIENT_REQUEST() is portable enough. We have had bug reports about compilation with Sun Solaris CC and HP-UX CC. These go away when the uses of __extension__ are removed. Reproducible: Always Steps to Reproduce: Attempt to compile memcheck.h with Sun Solaris CC or HP-UX CC. Actual Results: See for example the store.c compilation errors at http://bugs.exim.org/show_bug.cgi?id=1050 (Note that this bug report covers two bugs, a varargs bug and this valgrind bug.) Expected Results: Successful compile.
memcheck.h compiles OK on Solaris 11.3 with Developer Studio 12.6. This was probably fixed a few years ago when Solaris support was added. I think that we can forget about aCC and HP-UX