Hi!

This dump message is not guarded on dump_file being non-NULL, so crashes
inside of libc if dump_file is NULL.

I think a message like that is usually guarded not just on dump_file
being non-NULL, but also on TDF_DETAILS set in dump_flags.

Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?

2026-01-21  Jakub Jelinek  <[email protected]>

        PR tree-optimization/123736
        * tree-ssa-loop-unswitch.cc (hoist_guard): Guard dump message
        on dump_file && (dump_flags & TDF_DETAILS) condition.

--- gcc/tree-ssa-loop-unswitch.cc.jj    2026-01-02 09:56:10.389332765 +0100
+++ gcc/tree-ssa-loop-unswitch.cc       2026-01-21 16:33:51.943389809 +0100
@@ -1459,7 +1459,8 @@ hoist_guard (class loop *loop, edge guar
 
   if (skip_count > e->count ())
     {
-      fprintf (dump_file, "  Capping count; expect profile inconsistency\n");
+      if (dump_file && (dump_flags & TDF_DETAILS))
+       fprintf (dump_file, "  Capping count; expect profile inconsistency\n");
       skip_count = e->count ();
     }
   if (dump_enabled_p ())

        Jakub

Reply via email to