Re: [PATCH] valgrind: do not require valgrind 3.4.0 or newer
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:46:06
Johannes Schindelin [off-list ref] writes:
Hi, On Thu, 5 Feb 2009, Junio C Hamano wrote:quoted
Johannes Schindelin [off-list ref] writes:quoted
Valgrind 3.4.0 is pretty new, and even if --track-origins is a nice feature, it is not the end of the world if that is not available. So play nice and use that option only when only an older version of valgrind is available. In the same spirit, refrain from the use of '...' in suppression files, which is also a feature only valgrind 3.4 and newer understand. Signed-off-by: Johannes Schindelin <redacted>Thanks.quoted
+TRACK_ORIGINS= + +VALGRIND_VERSION=$(valgrind --version) +VALGRIND_MAJOR=$(expr "$VALGRIND_VERSION" : '[^0-9]*\([0-9]*\)') +VALGRIND_MINOR=$(expr "$VALGRIND_VERSION" : '[^0-9]*[0-9]*\.\([0-9]*\)') +test 3 -gt "$VALGRIND_MAJOR" || +test 3 -eq "$VALGRIND_MAJOR" -a 4 -gt "$VALGRIND_MINOR" || +TRACK_ORIGINS=--track-origins=yesIt took me a while to convince myself that "3 > major || (3 == major && 4 > minor) || do-this" is equivalent to "if (3 < major || (3 == major && 4 <= minor)) { do-this }" which would be: if test 3 -lt "$VALGRIND_MAJOR" || test 3 -eq "$VALGRIND_MAJOR" -a 4 -le "$VALGRIND_MINOR" then TRACK_ORIGINS=--track-origins=yes fi or more commonly: if test "$VALGRIND_MAJOR" -gt 3 || test "$VALGRIND_MAJOR" -eq 3 -a "$VALGRIND_MINOR" -ge 4 then TRACK_ORIGINS=--track-origins=yes fiOkay. Want me to resubmit?
Nah, sorry for being unclear that I was only stating an observation, not complaints.