https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84015
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mpolacek at gcc dot gnu.org --- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> --- Started with commit b1363399fad470a536bd8731be39c3fbfe4e6fad Author: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Wed Nov 9 20:02:50 2016 +0000 Implement P0127R2, Declaring non-type parameters with auto. gcc/cp/ * cp-tree.h (enum auto_deduction_context): Add adc_unify. * decl.c (grokdeclarator): Allow 'auto' in C++17 template non-type parameter types. * pt.c (do_auto_deduction): Add outer_targs parameter. (convert_template_argument): Call do_auto_deduction. If adc_unify, don't give up on dependent init. (unify): Likewise. In C++17, walk into the type of a TEMPLATE_PARM_INDEX. (for_each_template_parm): Add any_fn parameter. (struct pair_fn_data): Likewise. (for_each_template_parm_r): Call it for any tree. In C++17, walk into the type of a TEMPLATE_PARM_INDEX. (zero_r, array_deduction_r, try_array_deduction): New. (type_unification_real): Call try_array_deduction. (get_partial_spec_bindings): Likewise. gcc/c-family/ * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@242017 138bc75d-0d04-0410-961f-82ee72b054a4