build: clang support

This works with at least one version of clang
that existed at one moment in time.
No guarantees about clangs past or future.

To try:
        CC=clang all.bash

It does not work with the Xcode clang,
because that clang fails at printing a useful answer
to:
        clang -print-libgcc-file-name
The clang that works prints a full path name for
that command, not just "libgcc.a".

Fixes #4713.

R=iant, minux.ma
CC=golang-dev
https://golang.org/cl/7323068
diff --git a/src/run.bash b/src/run.bash
index 8385978..f8716a6 100755
--- a/src/run.bash
+++ b/src/run.bash
@@ -46,8 +46,12 @@
 echo '# sync -cpu=10'
 go test sync -short -timeout=120s -cpu=10
 
-case "$GOHOSTOS-$GOOS-$GOARCH-$CGO_ENABLED" in
-linux-linux-amd64-1 | darwin-darwin-amd64-1)
+# Race detector only supported on Linux and OS X,
+# and only on amd64, and only when cgo is enabled.
+# Also, clang can't seem to link the .syso files, so only
+# run if we're using gcc.
+case "$GOHOSTOS-$GOOS-$GOARCH-$CGO_ENABLED-${CC:-gcc}" in
+linux-linux-amd64-1-*gcc* | darwin-darwin-amd64-1-*gcc*)
 	echo
 	echo '# Testing race detector.'
 	go test -race -i flag