diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 72a6803f1c7475014d96fd477f3e5019d3b1c1c7..d76ecd39ffddce698f4dd2c81edac8162bc1c975 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,8 @@
+2016-12-29  Martin Liska  <mliska@suse.cz>
+
+	PR c/78933
+	* c.opt (strong-eval-order): Add RejectNegative keyword.
+
 2016-12-22  Jason Merrill  <jason@redhat.com>
 
 	Implement P0522R0, matching of template template arguments.
diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
index 1d40d76f1b656c9d007497d5acd95cf3ef93ad90..4652708b7f1073bab227874950fb1a0b1fc23653 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -1655,7 +1655,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/ChangeLog b/gcc/testsuite/ChangeLog
index 09b2b5bda7bbad18f50a1f3a4449643a6b0d3240..5e6db289f4b2242e06200a302b61e34a819e8d3d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2016-12-29  Martin Liska  <mliska@suse.cz>
+
+	PR c/78933
+	* g++.dg/pr78933.C: New test.
+
 2016-12-28  Uros Bizjak  <ubizjak@gmail.com>
 
 	PR target/78904
diff --git a/gcc/testsuite/g++.dg/pr78933.C b/gcc/testsuite/g++.dg/pr78933.C
new file mode 100644
index 0000000000000000000000000000000000000000..91a3a511711938d78e7c8c7f67e188bdbfc59f13
--- /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" }