https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127256
--- Comment #9 from Robin Dapp <rdapp at gcc dot gnu.org> --- Valgrind says when compiling this test: ==3164092== Conditional jump or move depends on uninitialised value(s) ==3164092== at 0x1657580: aarch64_load_tuning_params_from_json_string(char const*, char const*, char const*, tune_params*) (aarch64-json-tunings-parser.cc:590) ==3164092== by 0x1657907: selftest::test_json_boolean() (aarch64-json-tunings-parser.cc:668) ==3164092== by 0x1657B8F: selftest::aarch64_json_tunings_tests() (aarch64-json-tunings-parser.cc:725) ==3164092== by 0x229760F: selftest::run_tests() (selftest-run-tests.cc:120) ==3164092== by 0x106F07B: toplev::run_self_tests() (toplev.cc:2287) ==3164092== by 0x8212E7: toplev::main(int, char**) (toplev.cc:2403) ==3164092== by 0x822873: main (main.cc:39) ==3164092== Uninitialised value was created by a stack allocation ==3164092== at 0x16578D8: selftest::test_json_boolean() (aarch64-json-tunings-parser.cc:648) ==3164092== ==3164092== Conditional jump or move depends on uninitialised value(s) ==3164092== at 0x1657588: aarch64_load_tuning_params_from_json_string(char const*, char const*, char const*, tune_params*) (aarch64-json-tunings-parser.cc:591) ==3164092== by 0x1657907: selftest::test_json_boolean() (aarch64-json-tunings-parser.cc:668) ==3164092== by 0x1657B8F: selftest::aarch64_json_tunings_tests() (aarch64-json-tunings-parser.cc:725) ==3164092== by 0x229760F: selftest::run_tests() (selftest-run-tests.cc:120) ==3164092== by 0x106F07B: toplev::run_self_tests() (toplev.cc:2287) ==3164092== by 0x8212E7: toplev::main(int, char**) (toplev.cc:2403) ==3164092== by 0x822873: main (main.cc:39) ==3164092== Uninitialised value was created by a stack allocation ==3164092== at 0x16578D8: selftest::test_json_boolean() (aarch64-json-tunings-parser.cc:648) ==3164092== ==3164092== Conditional jump or move depends on uninitialised value(s) ==3164092== at 0x1657580: aarch64_load_tuning_params_from_json_string(char const*, char const*, char const*, tune_params*) (aarch64-json-tunings-parser.cc:590) ==3164092== by 0x165798F: selftest::test_json_strings() (aarch64-json-tunings-parser.cc:690) ==3164092== by 0x1657B93: selftest::aarch64_json_tunings_tests() (aarch64-json-tunings-parser.cc:726) ==3164092== by 0x229760F: selftest::run_tests() (selftest-run-tests.cc:120) ==3164092== by 0x106F07B: toplev::run_self_tests() (toplev.cc:2287) ==3164092== by 0x8212E7: toplev::main(int, char**) (toplev.cc:2403) ==3164092== by 0x822873: main (main.cc:39) ==3164092== Uninitialised value was created by a stack allocation ==3164092== at 0x1657964: selftest::test_json_strings() (aarch64-json-tunings-parser.cc:675) I'd say this confirms that it's unrelated and a coincidence. I'll go ahead and post the patch and open a PR for this.
