Chromium Code Reviews| Index: base/linked_list.h |
| diff --git a/base/linked_list.h b/base/linked_list.h |
| index 0626025a75196f299561bee18dd0b5e61f532344..39651ad94fc19ed7c8dc5bcc850ec69aec2b790a 100644 |
| --- a/base/linked_list.h |
| +++ b/base/linked_list.h |
| @@ -126,6 +126,12 @@ class LinkNode { |
| return static_cast<T*>(this); |
| } |
| + // Work around bug reported upstream: |
| + // http://llvm.org/bugs/show_bug.cgi?id=7974 |
| + void set(LinkNode<T>* prev, LinkNode<T>* next) { |
| + previous_ = prev; next_ = next; |
|
hans
2010/09/20 08:11:49
Nit: two statements on a single row like this is q
|
| + } |
| + |
| private: |
| LinkNode<T>* previous_; |
| LinkNode<T>* next_; |
| @@ -137,7 +143,7 @@ class LinkedList { |
| // The "root" node is self-referential, and forms the basis of a circular |
| // list (root_.next() will point back to the start of the list, |
| // and root_->previous() wraps around to the end of the list). |
| - LinkedList() : root_(&root_, &root_) {} |
| + LinkedList() { root_.set(&root_, &root_); } |
| // Appends |e| to the end of the linked list. |
| void Append(LinkNode<T>* e) { |