aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2024-03-08 12:49:43 +0100
committerJakub Jelinek <jakub@redhat.com>2024-03-08 12:49:43 +0100
commitd6bcc2e257026b383ac3e6ccdee13f7763b38621 (patch)
tree4471ad878787243507b74a57cddb35d734d85f27 /gcc
parenta307a26e8b392ba65edfdae15489556b7701db81 (diff)
downloadgcc-d6bcc2e257026b383ac3e6ccdee13f7763b38621.zip
gcc-d6bcc2e257026b383ac3e6ccdee13f7763b38621.tar.gz
gcc-d6bcc2e257026b383ac3e6ccdee13f7763b38621.tar.bz2
bb-reorder: Fix assertion
When touching bb-reorder yesterday, I've noticed the checking assert doesn't actually check what it meant to. Because asm_noperands returns >= 0 for inline asm patterns (in that case number of input+output+label operands, so asm goto has at least one) and -1 if it isn't inline asm. The following patch fixes the assertion to actually check that it is asm goto. 2024-03-08 Jakub Jelinek <jakub@redhat.com> * bb-reorder.cc (fix_up_fall_thru_edges): Fix up checking assert, asm_noperands < 0 means it is not asm goto too.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/bb-reorder.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/bb-reorder.cc b/gcc/bb-reorder.cc
index 7998c0a..ba11a23 100644
--- a/gcc/bb-reorder.cc
+++ b/gcc/bb-reorder.cc
@@ -2024,7 +2024,8 @@ fix_up_fall_thru_edges (void)
See PR108596. */
rtx_insn *j = BB_END (cur_bb);
gcc_checking_assert (JUMP_P (j)
- && asm_noperands (PATTERN (j)));
+ && (asm_noperands (PATTERN (j))
+ > 0));
edge e2 = find_edge (cur_bb, e->dest);
if (e2)
e2->flags |= EDGE_CROSSING;