https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117136

--- Comment #1 from anlauf at gcc dot gnu.org ---
Running f951 under valgrind I see:

==5119== Conditional jump or move depends on uninitialised value(s)
==5119==    at 0xAF2DFC: gfc_conv_procedure_call(gfc_se*, gfc_symbol*,
gfc_actual_arglist*, gfc_expr*, vec<tree_node*, va_gc, vl_embed>*)
(trans-expr.cc:8256)
==5119==    by 0xAF7DDD: gfc_conv_procedure_call(gfc_se*, gfc_symbol*,
gfc_actual_arglist*, gfc_expr*, vec<tree_node*, va_gc, vl_embed>*)
(trans-expr.cc:6831)
==5119==    by 0xB51AE2: gfc_trans_call(gfc_code*, bool, tree_node*,
tree_node*, bool) (trans-stmt.cc:425)
==5119==    by 0xAB0F13: trans_code(gfc_code*, tree_node*) (trans.cc:2434)
==5119==    by 0xAE8214: gfc_generate_function_code(gfc_namespace*)
(trans-decl.cc:7958)
==5119==    by 0xAB64C1: gfc_generate_module_code(gfc_namespace*)
(trans.cc:2780)
==5119==    by 0xA56F8A: translate_all_program_units(gfc_namespace*)
(parse.cc:7159)
==5119==    by 0xA57989: gfc_parse_file() (parse.cc:7489)
==5119==    by 0xAADBEF: gfc_be_parse_file() (f95-lang.cc:241)
==5119==    by 0x111DB4D: compile_file() (toplev.cc:451)
==5119==    by 0x99CEDE: do_compile (toplev.cc:2209)
==5119==    by 0x99CEDE: toplev::main(int, char**) (toplev.cc:2369)
==5119==    by 0x99E89A: main (main.cc:39)

The offending line is traced back to r15-4298-g3269a722b7a036 by Tobias.

Can you try the following patch?

diff --git a/gcc/fortran/trans-expr.cc b/gcc/fortran/trans-expr.cc
index b9f585d0d2f..2f6d3b06889 100644
--- a/gcc/fortran/trans-expr.cc
+++ b/gcc/fortran/trans-expr.cc
@@ -6378,7 +6381,7 @@ gfc_conv_procedure_call (gfc_se * se, gfc_symbol * sym,
   gfc_actual_arglist *arg;
   int has_alternate_specifier = 0;
   bool need_interface_mapping;
-  bool is_builtin;
+  bool is_builtin = false;
   bool callee_alloc;
   bool ulim_copy;
   gfc_typespec ts;

Reply via email to