diff --git a/0028-Array-widen-compare-Fix-the-return-value-match-after.patch b/0028-Array-widen-compare-Fix-the-return-value-match-after.patch new file mode 100644 index 0000000000000000000000000000000000000000..c5622b8358ffa66c5ee3326dd0b0646be65c2ed0 --- /dev/null +++ b/0028-Array-widen-compare-Fix-the-return-value-match-after.patch @@ -0,0 +1,40 @@ +From a89b84cd038e02f0cdafecea1cf337d5f8480683 Mon Sep 17 00:00:00 2001 +From: dingguangya +Date: Fri, 8 Sep 2023 11:55:04 +0800 +Subject: [PATCH] [Array-widen-compare] Fix the return value match after update + the get_loop_exit_edges interface + +The get_loop_exit_edges interface returns a value type +from vec -> auto_vec + +diff --git a/gcc/tree-ssa-loop-array-widen-compare.cc b/gcc/tree-ssa-loop-array-widen-compare.cc +index ba6170fa0..d27f91f11 100644 +--- a/gcc/tree-ssa-loop-array-widen-compare.cc ++++ b/gcc/tree-ssa-loop-array-widen-compare.cc +@@ -272,12 +272,12 @@ record_origin_loop_exit_info (class loop *loop) + || origin_loop.cond_stmt1 != NULL || origin_loop.cond_stmt2 != NULL) + return false; + +- vec exit_edges = get_loop_exit_edges (loop); ++ auto_vec exit_edges = get_loop_exit_edges (loop); + if (exit_edges == vNULL) + return false; + + if (exit_edges.length () != 2) +- goto fail; ++ return false; + + FOR_EACH_VEC_ELT (exit_edges, i, e) + { +@@ -304,8 +304,6 @@ record_origin_loop_exit_info (class loop *loop) + && origin_loop.cond_stmt1 != NULL && origin_loop.cond_stmt2 != NULL) + found = true; + +-fail: +- exit_edges.release (); + return found; + } + +-- +2.33.0 + diff --git a/gcc.spec b/gcc.spec index 76948ef684153755eea6e832f5adb4af1f509e66..937761f20843e721faa6ac3c6bb86766a489d5d5 100644 --- a/gcc.spec +++ b/gcc.spec @@ -2,7 +2,7 @@ %global gcc_major 12 # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 15 +%global gcc_release 16 %global _unpackaged_files_terminate_build 0 %global _performance_build 1 @@ -162,6 +162,7 @@ Patch24: 0024-Struct-Reorg-Refactoring-and-merge-reorder-fields-in.patch Patch25: 0025-AArch64-Rewrite-the-tsv110-option.patch Patch26: 0026-GOMP-Enabling-moutline-atomics-improves-libgomp-perf.patch Patch27: 0027-LoopElim-Redundant-loop-elimination-optimization.patch +Patch28: 0028-Array-widen-compare-Fix-the-return-value-match-after.patch # On ARM EABI systems, we do want -gnueabi to be part of the # target triple. @@ -655,6 +656,7 @@ not stable, so plugins must be rebuilt any time GCC is updated. %patch25 -p1 %patch26 -p1 %patch27 -p1 +%patch28 -p1 echo '%{_vendor} %{version}-%{release}' > gcc/DEV-PHASE @@ -2886,6 +2888,10 @@ end %doc rpm.doc/changelogs/libcc1/ChangeLog* %changelog +* Mon Sep 11 2023 dingguangya 12.3.1-16 +- Type: Sync +- DESC: Sync patch from openeuler/gcc + * Thu Sep 07 2023 zhaozhenyu 12.3.1-15 - Type: SPEC - DESC: Enable Strip for aarch64 and x86_64