Thread (1 message) 1 message, 1 author, 2016-06-15

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=yes
It 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
	fi
Okay.  Want me to resubmit?
Nah, sorry for being unclear that I was only stating an observation, not
complaints.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help