From a85e5696a31cac8c14dde14f031e76480205f8a0 Mon Sep 17 00:00:00 2001 From: Sandra Loosemore Date: Sat, 19 Sep 2020 07:32:35 -0700 Subject: [PATCH] Work around bootstrap failure in Fortran front end. Switching the C++ front end to lower loops the same was as the C front end triggered this error when bootstrapping the Fortran front end: /path/to/gcc/fortran/interface.c:3546:12: error: '*new_arg' may be used uninitialized [-Werror=maybe-uninitialized] 3546 | new_arg[i]->next = NULL; | ~~~~~~~~~^ Work around this by adding an assertion, which seems appropriate for documentation and good coding practices anyway. 2020-08-12 Sandra Loosemore gcc/fortran/ * interface.c (gfc_compare_actual_formal): Add assertion after main processing loop to silence maybe-uninitialized error. --- gcc/fortran/interface.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gcc/fortran/interface.c b/gcc/fortran/interface.c index 020cdd73df8..e2cc76f0024 100644 --- a/gcc/fortran/interface.c +++ b/gcc/fortran/interface.c @@ -3530,6 +3530,10 @@ gfc_compare_actual_formal (gfc_actual_arglist **ap, gfc_formal_arglist *formal, } } + /* We should have handled the cases where the formal arglist is null + already. */ + gcc_assert (n > 0); + /* The argument lists are compatible. We now relink a new actual argument list with null arguments in the right places. The head of the list remains the head. */