And a minor change I noticed while looking at this area.
commit bd069335f569a8c148aec0daf81b3e3a57f31ad4
Author: Jason Merrill
Date: Sat Apr 16 17:31:36 2011 -0700
* tree.c (get_target_expr): Handle VEC_INIT_EXPR.
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index ad004bb..25f2c32 10064
The switch to using build_value_init for value-initialization of
non-class types caused us to incorrectly allow functional casts to array
type, leading to an ICE.
Tested x86_64-pc-linux-gnu, applied to trunk.
commit 4c4d50b6852b51cd6a227a09f330a086eb3b1d63
Author: Jason Merrill
Date: Sat Apr