yes, I forgot to attach the latest patch. :)
On Wed, 5 Jun 2019 at 10:24, Nina Dinka Ranns <dinka.ra...@gmail.com> wrote: > > Hi both, > Addressing all comments in this e-mail, as some are duplicate. > > On Tue, 4 Jun 2019 at 20:45, Paolo Carlini <paolo.carl...@oracle.com> wrote: > > > > Hi, > > > > On 04/06/19 21:26, Nina Dinka Ranns wrote: > > > > Good point, dg-do compile is sufficient to demonstrate the issue. > > > > I agree. > > > > A couple of additional nits, sorry for mentioning only now. > > > > > > C++63149_2.diff > > > > 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)); > > > > You want a space after strip_top_quals. > > fixed. > > > > > 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 compile { 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() > > +{ > > +} > > > > With dg-do compile you don't need a main anymore. > > > fixed > > > I seem to remember also a couple of minor formatting issues in the > > ChangeLog entry: just harmonize the format with everything else you find in > > the ChangeLog, in terms of the usual trivial details: upper cases, line > > lenghts and line wraps, etc. > > > > Below is the amended change log. If there is anything else off, I > would need specifics as I've made all the changes I could spot myself. > :) > > Thanks, > Nina > > 2019-06-04 Nina Dinka Ranns <dinka.ra...@gmail.com> > 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 test.
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,8 @@ +// Test for PR63149 +// { dg-do compile { target c++11 } } + +#include <initializer_list> + +const auto r = { 1, 2, 3 }; +using X = decltype(r); +using X = const std::initializer_list<int>;