re PR c++/77656 (64-bit integral template parameter gets incorrectly sized as 32...
authorJason Merrill <jason@redhat.com>
Fri, 21 Oct 2016 19:45:45 +0000 (15:45 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Fri, 21 Oct 2016 19:45:45 +0000 (15:45 -0400)
commit16b61424dd309f61326f577a6deb8487c6c1f291
tree6c7926ef82590c0dc45a976fca3d534b08b3b791
parenta7564a05ff6a64cd1536a903e5f5fad50fed6973
re PR c++/77656 (64-bit integral template parameter gets incorrectly sized as 32-bits)

PR c++/77656
* pt.c (convert_template_argument): Call convert_nontype_argument
on value-dependent but not type-dependent arguments.
(convert_nontype_argument): Handle value-dependent arguments.
(canonicalize_expr_argument): New.
(deducible_expression, unify): Skip CONVERT_EXPR.
* error.c (dump_template_argument): Likewise.
* mangle.c (write_expression): Likewise.

From-SVN: r241425
gcc/cp/ChangeLog
gcc/cp/error.c
gcc/cp/mangle.c
gcc/cp/pt.c
gcc/testsuite/g++.dg/template/crash53.C
gcc/testsuite/g++.dg/template/nontype28.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/nontype3.C