This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Add RejectNegative for a c option.


Without RejectNegative one can cause an ICE in the compiler.
Patch can bootstrap on ppc64le-redhat-linux and survives regression tests.

Ready to be installed?
Martin
>From e005f69008daf6ad7705a2f9c3d0242e426c168f Mon Sep 17 00:00:00 2001
From: marxin <mliska@suse.cz>
Date: Tue, 27 Dec 2016 15:35:03 +0100
Subject: [PATCH] Add RejectNegative for a c option.

gcc/testsuite/ChangeLog:

2016-12-27  Martin Liska  <mliska@suse.cz>

	* g++.dg/pr78933.C: New test.

gcc/c-family/ChangeLog:

2016-12-27  Martin Liska  <mliska@suse.cz>

	* c.opt (strong-eval-order): Add RejectNegative keyword.
---
 gcc/c-family/c.opt             | 2 +-
 gcc/testsuite/g++.dg/pr78933.C | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)
 create mode 100644 gcc/testsuite/g++.dg/pr78933.C

diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
index a5333a35e41..ba5c39d4f1c 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -1649,7 +1649,7 @@ Follow the C++17 evaluation order requirements for assignment expressions,
 shift, member function calls, etc.
 
 fstrong-eval-order=
-C++ ObjC++ Common Var(flag_strong_eval_order) Joined Enum(strong_eval_order) Init(-1)
+C++ ObjC++ Common Var(flag_strong_eval_order) Joined Enum(strong_eval_order) RejectNegative Init(-1)
 Follow the C++17 evaluation order requirements for assignment expressions,
 shift, member function calls, etc.
 
diff --git a/gcc/testsuite/g++.dg/pr78933.C b/gcc/testsuite/g++.dg/pr78933.C
new file mode 100644
index 00000000000..91a3a511711
--- /dev/null
+++ b/gcc/testsuite/g++.dg/pr78933.C
@@ -0,0 +1,3 @@
+// PR c/78933
+// { dg-do compile }
+// { dg-options "-fno-strong-eval-order" }
-- 
2.11.0


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]