Hi!

The following PR has been fixed by the changes to evaluate constexpr
functions on pre-folding/genericization trees.

I've tested the following testcase on x86_64-linux and committed to trunk as
obvious, so that we don't regress it.

2019-04-16  Jakub Jelinek  <ja...@redhat.com>

        PR c++/86953
        * g++.dg/cpp0x/constexpr-86953.C: New test.

--- gcc/testsuite/g++.dg/cpp0x/constexpr-86953.C.jj     2019-04-16 
15:55:53.938063633 +0200
+++ gcc/testsuite/g++.dg/cpp0x/constexpr-86953.C        2019-04-16 
15:55:48.072160330 +0200
@@ -0,0 +1,19 @@
+// PR c++/86953
+// { dg-do run { target c++11 } }
+// { dg-options "-O2" }
+
+struct B {
+  double x;
+  bool y, z;
+  constexpr bool operator== (const B& o) const noexcept
+  {
+    return x == o.x && y == o.y && z == o.z;
+  }
+  constexpr bool operator!= (const B& o) const noexcept { return !(*this == 
o); }
+};
+
+int
+main ()
+{
+  bool b = B{} == B{};
+}

        Jakub

Reply via email to