aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDiego Novillo <dnovillo@google.com>2012-09-04 17:07:48 -0400
committerDiego Novillo <dnovillo@gcc.gnu.org>2012-09-04 17:07:48 -0400
commitbde6de5d4ba6258094a7a6fb47af74935711d3c6 (patch)
tree864e76a639738a9d7af588491843d89196e3cac7 /gcc
parentafba316b4627a4ce2613af1321319c85c7cf6ebe (diff)
downloadgcc-bde6de5d4ba6258094a7a6fb47af74935711d3c6.zip
gcc-bde6de5d4ba6258094a7a6fb47af74935711d3c6.tar.gz
gcc-bde6de5d4ba6258094a7a6fb47af74935711d3c6.tar.bz2
Fix bootstrap failure with clang++.
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/vec.h6
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ce1252d..d0c7a73 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/vec.h b/gcc/vec.h
index c0f1bb2..441c9b5 100644
--- 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;