On 25/06/25 3:54 PM, Mark Brown wrote:
On Wed, Jun 25, 2025 at 03:01:38AM +0100, Anshuman Khandual wrote:
@@ -96,7 +96,7 @@ static int write_sleep_read(void) static int write_fork_read(void) { pid_t newpid, waiting, oldpid;
- int status;
- int status = 0;
set_tpidr2(getpid());
This will shut the warnings up, but it's a bit of a heavy hammer that means that the warning can never trigger warnings for that variable being unused. Is it possible to fix this by updating the control flow such that the compiler can tell that the initialisation follows the use?
The problem might not exist in reality. In the test function test_fork() in the file tools/testing/selftests/arm64/gcs/basic-gcs.c there does not seem to be a path where WIFEXITED(status) might get called when 'status' has not been initialized as there is a preceding waitpid() which would ensure 'status' gets set. Similar scenarios are present in fork_test_c() and write_fork_read() as well.
But the compiler still throws these build warnings. Seems to be false positives and this fix just works around that.