Bug 262932

Summary: memcheck.h does not compile on unsupported platforms
Product: [Developer tools] valgrind Reporter: Tony Finch <dot>
Component: memcheckAssignee: Julian Seward <jseward>
Status: RESOLVED FIXED    
Severity: normal CC: pjfloyd
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Solaris   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Remove uses of __extension__ in memcheck.h

Description Tony Finch 2011-01-12 11:37:10 UTC
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.
Comment 1 Paul Floyd 2021-01-03 18:34:38 UTC
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