https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87554
--- Comment #12 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-8 branch has been updated by Jason Merrill <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:a57528b33be33d4428ac62901d04cf39807d624e commit r8-10074-ga57528b33be33d4428ac62901d04cf39807d624e Author: Jason Merrill <ja...@redhat.com> Date: Tue Feb 25 13:37:18 2020 -0500 PR c++/87554 - ICE with extern template and reference member. The removed code ended up setting DECL_INITIAL to the INIT_EXPR returned by split_nonconstant_init, which makes no sense. This code was added back in 1996, so any rationale is long lost. gcc/cp/ChangeLog 2020-02-25 Jason Merrill <ja...@redhat.com> PR c++/87554 - ICE with extern template and reference member. * decl.c (cp_finish_decl): Don't set DECL_INITIAL of external vars.