diff gcc/testsuite/g++.dg/cpp0x/constexpr-data1.C @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-data1.C	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,42 @@
+// { dg-do compile { target c++11 } }
+
+// From N2235
+
+// 1
+struct A2
+{
+  static const int eights = 888;
+  static constexpr int nines = 999;
+};
+
+A2 a;
+
+// 2
+struct pixel
+{
+  int x, y;
+};
+constexpr pixel ur = { 1294, 1024 }; // OK
+
+// p4
+struct Length
+{
+   explicit constexpr Length(int i = 0) : val(i) { }
+private:
+   int val;
+};
+
+constexpr int myabs(int x)
+{ return x < 0 ? -x : x; }    // OK
+
+Length l(myabs(-97)); // OK
+
+// p6
+class debug_flag
+{
+public:
+   explicit debug_flag(bool);
+   constexpr bool is_on(); // { dg-error "enclosing class .* not a literal type" "" { target c++11_only } }
+private:
+   bool flag;
+};