Subject: bug#33736: flymake test different-diagnostic-types confuses gcc and CC

From: Glenn Morris <[email-masked]>
Date: Thu, 13 Dec 2018 21:35:06 -0500

Package: emacs
Version: 27.0.50
Severity: minor

flymake-test's different-diagnostic-types is skipped if "gcc" seems too old.
However, what matters to the rest of the test is $CC, not gcc.
So if gcc is new enough for the test to run, but $CC is older, the test fails.

Eg on RHEL 7.6:

scl enable devtoolset-7 bash
type -ap gcc   # /opt/rh/devtoolset-7/root/usr/bin/gcc
gcc --version  # 7.3.1
make lisp/progmodes/flymake-tests  # 9 tests pass
/usr/bin/gcc --version    # 4.8.5
make lisp/progmodes/flymake-tests CC=/usr/bin/gcc
  -> different-diagnostic-types fails rather than being skipped

This happens on hydra.nixos.org, ref eg https://hydra.nixos.org/build/85857843