]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fix bootstrap failure with clang++.
authorDiego Novillo <dnovillo@google.com>
Tue, 4 Sep 2012 21:07:48 +0000 (17:07 -0400)
committerDiego Novillo <dnovillo@gcc.gnu.org>
Tue, 4 Sep 2012 21:07:48 +0000 (17:07 -0400)
This patch fixes a bootstrap failure when using clang as the host
compiler.  Default arguments for class template member functions
should be added in the declaration, not the definition.

From Jason:

> 8.3.6 says "Default arguments for a member function of a class template shall
> be specified on the initial declaration of the member function within the
> class template."

PR bootstrap/54484
* vec.h (vec_t::embedded_init): Move default argument value
to function declaration.

From-SVN: r190951

gcc/ChangeLog
gcc/vec.h

index ce1252da717be893df3afdd226ea9aad35569d96..d0c7a73a4f4c80a783e9ba811f366306c82bccc5 100644 (file)
@@ -1,3 +1,9 @@
+2012-09-04  Diego Novillo  <dnovillo@google.com>
+
+       PR bootstrap/54484
+       * vec.h (vec_t::embedded_init): Move default argument value
+       to function declaration.
+
 2012-09-04  Eric Botcazou  <ebotcazou@adacore.com>
 
        * bb-reorder.c (gate_handle_reorder_blocks): Move around.
index c0f1bb2cd2130114730f0d2303eee9570a0ad1ef..441c9b5f7911f9f5e839dab3a8f07bbcaa045ef1 100644 (file)
--- a/gcc/vec.h
+++ b/gcc/vec.h
@@ -171,7 +171,7 @@ struct GTY(()) vec_t
   T &last (ALONE_VEC_CHECK_DECL);
   const T &operator[] (unsigned) const;
   T &operator[] (unsigned);
-  void embedded_init (int, int);
+  void embedded_init (int, int = 0);
 
   template<enum vec_allocation_t A>
   vec_t<T> *copy (ALONE_MEM_STAT_DECL);
@@ -599,7 +599,7 @@ vec_t<T>::iterate (const vec_t<T> *vec, unsigned ix, T **ptr)
    final member):
 
    size_t vec_t<T>::embedded_size<T> (int reserve);
-   void v->embedded_init(int reserve, int active = 0);
+   void v->embedded_init(int reserve, int active);
 
    These allow the caller to perform the memory allocation.  */
 
@@ -616,7 +616,7 @@ vec_t<T>::embedded_size (int nelems)
 
 template<typename T>
 void
-vec_t<T>::embedded_init (int nelems, int active = 0)
+vec_t<T>::embedded_init (int nelems, int active)
 {
   prefix_.num_ = active;
   prefix_.alloc_ = nelems;