struct does not accept initializer-form if member has initializers in GCC 4.9
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 6 Jun 2017 14:53:57 +0000 (14:53 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 6 Jun 2017 14:53:57 +0000 (14:53 +0000)
commit9fc743612dca380887ce71560835fc4142270301
treee6420f0a69957ff88ac7c26f83416c6f922982e1
parent2d9921aed9399a1b43172b15f31bdaa34c7a1079
struct does not accept initializer-form if member has initializers in GCC 4.9
https://bugs.webkit.org/show_bug.cgi?id=172974

Reviewed by Carlos Garcia Campos.

struct cannot accept initializer-form constructor (like, `ListNode<T> t { ... }`) if
the member of the struct has a default initializer.
Here is a simple snippet.

template<typename T>
struct Pair {
    T* prev { nullptr };
    T* next { nullptr };
};

Pair<int> pair { nullptr, nullptr };  // compile erorr in GCC 4.9.

Instead, we define a default constructor (to invoke default initializers) and a constructor
to accept the above initialization.

* bmalloc/List.h:
(bmalloc::ListNode::ListNode):
(bmalloc::List::iterator::iterator):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@217829 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/bmalloc/ChangeLog
Source/bmalloc/bmalloc/List.h