On 3/15/25 9:01 PM, Andrew Pinski wrote:
The problem here is there was a compare debug since the discriminators
would still take into account debug statements. For the edge we would look
at the first statement after the labels and that might have been a debug 
statement.
So we need to skip over debug statements otherwise we could get different
discriminators # with and without -g.

Bootstrapped and tested on x86_64-linux-gnu with no regressions.

        PR middle-end/113546

gcc/ChangeLog:

        * tree-cfg.cc (first_non_label_stmt): Rename to ...
        (first_non_label_nondebug_stmt): This and use 
gsi_start_nondebug_after_labels_bb.
        (assign_discriminators): Update call to first_non_label_nondebug_stmt.

gcc/testsuite/ChangeLog:

        * c-c++-common/torture/pr113546-1.c: New test.
OK.

Jeff

Reply via email to