Tested on Linux x86_64
2019-06-04 Nina Dinka Ranns <[email protected]>
gcc/cp
PR c++/63149
* pt.c (listify_autos): use non cv qualified auto_node in
std::initializer_list<auto>
testsuite/
PR c++/63149
* g++.dg/cpp0x/initlist-deduce.C: New
Index: gcc/cp/pt.c
===================================================================
--- gcc/cp/pt.c (revision 271709)
+++ gcc/cp/pt.c (working copy)
@@ -26836,7 +26836,7 @@
static tree
listify_autos (tree type, tree auto_node)
{
- tree init_auto = listify (auto_node);
+ tree init_auto = listify (strip_top_quals(auto_node));
tree argvec = make_tree_vec (1);
TREE_VEC_ELT (argvec, 0) = init_auto;
if (processing_template_decl)
Index: gcc/testsuite/g++.dg/cpp0x/initlist-deduce2.C
===================================================================
--- gcc/testsuite/g++.dg/cpp0x/initlist-deduce2.C (nonexistent)
+++ gcc/testsuite/g++.dg/cpp0x/initlist-deduce2.C (working copy)
@@ -0,0 +1,12 @@
+// Test for PR63149
+// { dg-do run { target c++11 } }
+
+#include <initializer_list>
+
+const auto r = { 1, 2, 3 };
+using X = decltype(r);
+using X = const std::initializer_list<int>;
+
+int main()
+{
+}