https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98329
--- Comment #2 from CVS Commits ---
The master branch has been updated by Jakub Jelinek :
https://gcc.gnu.org/g:aa4db31dd2a99b4c902f2a3ac6ef4397f84dd888
commit r11-6533-gaa4db31dd2a99b4c902f2a3ac6ef4397f84dd888
Author: Jakub Jelinek
Date: Thu Jan 7 23:00:28 2021 +0100
c++: Fix up tsubst of BIT_CAST_EXPR [PR98329]
As the testcase shows, calling cp_build_bit_cast in tsubst_copy doesn't
seem
to be a good idea, because tsubst_copy might not really make the operand
non-dependent, but as processing_template_decl can be 0,
type_dependent_expression_p will return false and then cp_build_bit_cast
assumes the type is non-NULL and non-dependent.
So, this patch just follows what is done e.g. for NOP_EXPR etc. and just
builds some tree in tsubst_copy, and only calls the semantics.c function
from tsubst_copy_and_build.
2021-01-07 Jakub Jelinek
PR c++/98329
* pt.c (tsubst_copy) : Don't call
cp_build_bit_cast here, instead just build_min a BIT_CAST_EXPR and
set
its location.
(tsubst_copy_and_build): Handle BIT_CAST_EXPR.
* g++.dg/cpp2a/bit-cast10.C: New test.