aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2019-06-08 00:17:13 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2019-06-08 00:17:13 +0000
commitda643428a31707ab24ef81b782b07650deb321cb (patch)
tree8660ed7656753de0b4f86be7dfb5cc432f7898e3
parentf48cc0aa948622d5b98d129ce34a49d21ee6542a (diff)
downloadgcc-da643428a31707ab24ef81b782b07650deb321cb.zip
gcc-da643428a31707ab24ef81b782b07650deb321cb.tar.gz
gcc-da643428a31707ab24ef81b782b07650deb321cb.tar.bz2
re PR c++/77771 (internal compiler error: in cxx_eval_bit_field_ref, at cp/constexpr.c:2090)
PR c++/77771 * g++.dg/cpp0x/constexpr-77771.C: New test. From-SVN: r272068
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-77771.C16
2 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 80cb5cc..0ea0465 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2019-06-07 Marek Polacek <polacek@redhat.com>
+
+ PR c++/77771
+ * g++.dg/cpp0x/constexpr-77771.C: New test.
+
2019-06-07 John David Anglin <danglin@gcc.gnu.org>
* lib/scanasm.exp (dg-function-on-line): Add pattern for hppa*-*-linux*.
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-77771.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-77771.C
new file mode 100644
index 0000000..fca83d9
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-77771.C
@@ -0,0 +1,16 @@
+// PR c++/77771
+// { dg-do compile { target c++11 } }
+// { dg-options "-O" }
+
+struct S
+{
+ char x[2];
+ unsigned y;
+};
+
+constexpr bool func(const S s)
+{
+ return s.x[0] != 42 || s.x[1] != 0;
+}
+
+static_assert(func({{42, 7}, 0}), "");