diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-11-09 20:02:50 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-11-09 20:02:50 +0000 |
commit | b1363399fad470a536bd8731be39c3fbfe4e6fad (patch) | |
tree | 760d23d9253039365e07de038db17dfe9aada879 /gcc/fortran/interface.c | |
parent | c07c7aacdff4c8a625e1e736c2bfc955ab79a8b9 (diff) |
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
Diffstat (limited to 'gcc/fortran/interface.c')
0 files changed, 0 insertions, 0 deletions