aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2015-07-09 09:51:09 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2015-07-09 09:51:09 +0000
commita2fe398522e45afa586503e5b0a7c98e2352cd69 (patch)
treefb803db0abd176ad60a92971afcf68605d39bb92 /gcc
parente9c9e772e22cd76f57154167b6cda9113323cf31 (diff)
downloadgcc-a2fe398522e45afa586503e5b0a7c98e2352cd69.zip
gcc-a2fe398522e45afa586503e5b0a7c98e2352cd69.tar.gz
gcc-a2fe398522e45afa586503e5b0a7c98e2352cd69.tar.bz2
re PR c++/65790 (compilation error : receive std::index_sequence)
2015-07-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/65790 * g++.dg/cpp0x/vt-65790.C: New. From-SVN: r225607
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/vt-65790.C35
2 files changed, 40 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 49d6f2b..78dd30c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2015-07-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/65790
+ * g++.dg/cpp0x/vt-65790.C: New.
+
2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
PR target/66818
diff --git a/gcc/testsuite/g++.dg/cpp0x/vt-65790.C b/gcc/testsuite/g++.dg/cpp0x/vt-65790.C
new file mode 100644
index 0000000..477e988
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/vt-65790.C
@@ -0,0 +1,35 @@
+// PR c++/65790
+// { dg-do compile { target c++11 } }
+
+extern "C" int printf(const char* ...);
+
+namespace std
+{
+ typedef decltype(sizeof(0)) size_t;
+
+ template<typename _Tp, _Tp... _Idx>
+ struct integer_sequence
+ {
+ typedef _Tp value_type;
+ static constexpr size_t size() { return sizeof...(_Idx); }
+ };
+
+ template<size_t... _Idx>
+ using index_sequence = integer_sequence<size_t, _Idx...>;
+}
+
+void g(std::size_t a, std::size_t b, std::size_t c)
+{
+ printf("%zu, %zu, %zu\n", a, b, c);
+}
+
+template <std::size_t... Seq>
+void f(std::index_sequence<Seq...>)
+{
+ g(Seq...);
+}
+
+int main()
+{
+ f(std::index_sequence<0, 1, 2>());
+}