diff options
author | Andrew Pinski <quic_apinski@quicinc.com> | 2024-07-29 11:33:58 -0700 |
---|---|---|
committer | Andrew Pinski <quic_apinski@quicinc.com> | 2024-07-31 12:26:14 -0700 |
commit | c65653f5685a106661596a413744953ea9cdbc60 (patch) | |
tree | 641805eec8064fe471ef17f59bb16d17142d814c /gcc/dwarf2codeview.cc | |
parent | ebf4f095568e8e4af042f3e5a8cb6558888d9172 (diff) | |
download | gcc-c65653f5685a106661596a413744953ea9cdbc60.zip gcc-c65653f5685a106661596a413744953ea9cdbc60.tar.gz gcc-c65653f5685a106661596a413744953ea9cdbc60.tar.bz2 |
match: Fix types matching for `(?:) !=/== (?:)` [PR116134]
The problem here is that in generic types of comparisons don't need
to be boolean types (or vector boolean types). And fixes that by making
sure the types of the conditions match before doing the optimization.
Bootstrapped and tested on x86_64-linux-gnu with no regressions.
PR middle-end/116134
gcc/ChangeLog:
* match.pd (`(a ? x : y) eq/ne (b ? x : y)`): Check that
a and b types match.
(`(a ? x : y) eq/ne (b ? y : x)`): Likewise.
gcc/testsuite/ChangeLog:
* gcc.dg/torture/pr116134-1.c: New test.
Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
Diffstat (limited to 'gcc/dwarf2codeview.cc')
0 files changed, 0 insertions, 0 deletions