summarylogtreecommitdiffstats
path: root/revert-pr71289.patch
diff options
context:
space:
mode:
authorvonPalitroque2017-07-26 15:45:54 -0400
committervonPalitroque2017-07-26 15:45:54 -0400
commit08e820f4476ad19652d533f25e4df4cc7b5fd14d (patch)
tree86efb44e63b8ea089185eaa1c362efe1202626a4 /revert-pr71289.patch
parent8c76f9e57d594190009e0226c5f039523438d6ac (diff)
downloadaur-08e820f4476ad19652d533f25e4df4cc7b5fd14d.tar.gz
Updated to latest version.
Updated to latest upstream version. Small caveat: The bug described in pr79242 is still not resolved and activity on it seems to be of low interest. Unfortunately, I do not have the time to look into it that much. As such, instead of delaying the update until the bug is resolved, I have opted to instead revert the change that exposed the bug [2]. Yes, this means that the bug is still there and may be triggered a different way, I have yet to find a scenario where it happens though. I will ask then the community: if such case is found, please let me know and/or add it to [1]. I will then prepare and release a PKGBUILD based on gcc 6.4 instead. Cheers, Orlando. [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79242 [2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71289
Diffstat (limited to 'revert-pr71289.patch')
-rw-r--r--revert-pr71289.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/revert-pr71289.patch b/revert-pr71289.patch
new file mode 100644
index 000000000000..298386e65d1e
--- /dev/null
+++ b/revert-pr71289.patch
@@ -0,0 +1,20 @@
+diff -rupN gcc-7.1.0-pristine/gcc/match.pd gcc-7.1.0-modified/gcc/match.pd
+--- gcc-7.1.0-pristine/gcc/match.pd 2017-04-04 05:06:04.000000000 -0400
++++ gcc-7.1.0-modified/gcc/match.pd 2017-07-26 10:46:14.079911462 -0400
+@@ -3071,16 +3071,6 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
+ && types_match (TREE_TYPE (@0), TREE_TYPE (@1)))
+ (out (imagpart @2) { build_zero_cst (TREE_TYPE (@0)); }))))
+
+-/* For unsigned operands, -1 / B < A checks whether A * B would overflow.
+- Simplify it to __builtin_mul_overflow (A, B, <unused>). */
+-(for cmp (lt ge)
+- out (ne eq)
+- (simplify
+- (cmp:c (trunc_div:s integer_all_onesp @1) @0)
+- (if (TYPE_UNSIGNED (TREE_TYPE (@0)) && !VECTOR_TYPE_P (TREE_TYPE (@0)))
+- (with { tree t = TREE_TYPE (@0), cpx = build_complex_type (t); }
+- (out (imagpart (IFN_MUL_OVERFLOW:cpx @0 @1)) { build_zero_cst (t); })))))
+-
+ /* Simplification of math builtins. These rules must all be optimizations
+ as well as IL simplifications. If there is a possibility that the new
+ form could be a pessimization, the rule should go in the canonicalization