diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3d20ebdf959e035fc07fda3a7148ef87fe99f4fb..c605432bc5796367a5b43550e1d58799dcdb99a4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2012-09-04   Diego Novillo  <dnovillo@google.com>
+
+	PR bootstrap/54479
+	* vec.h (vec_t::copy): Add cast in call to reserve_exact.
+
 2012-09-04  Richard Guenther  <rguenther@suse.de>
 
 	* tree-ssa-pre.c (add_to_exp_gen): Adjust.
diff --git a/gcc/vec.h b/gcc/vec.h
index 74a85c795974f7411a4ebfc0df379ddd70ddb1f8..ac426e9a41728f27b4375bb3b0be0a6f4293e36b 100644
--- a/gcc/vec.h
+++ b/gcc/vec.h
@@ -699,7 +699,8 @@ vec_t<T>::copy (ALONE_MEM_STAT_DECL)
 
   if (len)
     {
-      new_vec = vec_t<T>::reserve_exact<A> (NULL, len PASS_MEM_STAT);
+      new_vec = vec_t<T>::reserve_exact<A> (static_cast<vec_t<T> *> (NULL),
+					    len PASS_MEM_STAT);
       new_vec->embedded_init (len, len);
       memcpy (new_vec->address (), vec_, sizeof (T) * len);
     }