diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/cpp0x/constexpr-ptrsub.C')
-rw-r--r-- | gcc-4.9/gcc/testsuite/g++.dg/cpp0x/constexpr-ptrsub.C | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/constexpr-ptrsub.C b/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/constexpr-ptrsub.C new file mode 100644 index 0000000..18648d9 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/constexpr-ptrsub.C @@ -0,0 +1,14 @@ +// PR c++/51489 +// DR 1313 +// { dg-do compile { target c++11 } } + +struct array +{ + constexpr array() :x(0) {} + constexpr int const* begin() { return &x; } + int x; +}; +constexpr array aa; +constexpr auto b = aa.begin(); +static_assert(b-b == 0, "compiles just fine"); +static_assert(aa.begin()-aa.begin() == 0, "compiler thinks it's not a constant expression"); |