aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2019-06-20 15:37:35 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2019-06-20 15:37:35 +0000
commit7772dbe2fad60d8be78b81e0fdce23aff1344be5 (patch)
tree02579aa9dc2362d4960542cf01e593de8848e4a0 /gcc
parentac173024954b4e620c80ab81715bc5d50907369a (diff)
downloadgcc-7772dbe2fad60d8be78b81e0fdce23aff1344be5.zip
gcc-7772dbe2fad60d8be78b81e0fdce23aff1344be5.tar.gz
gcc-7772dbe2fad60d8be78b81e0fdce23aff1344be5.tar.bz2
re PR c++/87512 (Error: the type ‘const auto’ of ‘constexpr’ variable is not literal)
PR c++/87512 * g++.dg/cpp1z/inline-var7.C: New test. From-SVN: r272512
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/inline-var7.C20
2 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0fd1ce0..2d741d8 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2019-06-20 Marek Polacek <polacek@redhat.com>
+
+ PR c++/87512
+ * g++.dg/cpp1z/inline-var7.C: New test.
+
2019-06-20 H.J. Lu <hongjiu.lu@intel.com>
PR target/54855
diff --git a/gcc/testsuite/g++.dg/cpp1z/inline-var7.C b/gcc/testsuite/g++.dg/cpp1z/inline-var7.C
new file mode 100644
index 0000000..71fa1d3
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp1z/inline-var7.C
@@ -0,0 +1,20 @@
+// PR c++/87512
+// { dg-do compile { target c++17 } }
+
+template <int, typename T = int> using enable_if_t = int;
+template<typename T> struct is_pointer { enum { value = 0 }; };
+
+template <typename T>
+inline constexpr auto IsPtr = is_pointer<T>::value;
+
+class Foo;
+class Bar;
+
+template <typename T1, typename T2>
+void foo(T1, T2);
+
+template <typename T>
+enable_if_t<IsPtr<T>> foo(T, Foo);
+
+template <>
+void foo<Bar>(Bar, Bar);