| Index: tools/gn/label.h | 
| diff --git a/tools/gn/label.h b/tools/gn/label.h | 
| index 0c5d35d6804e5df32fbdcbf86bb400eeef2407bb..1cb8a9bcc17ad00da8506a476d789f194f2385ba 100644 | 
| --- a/tools/gn/label.h | 
| +++ b/tools/gn/label.h | 
| @@ -78,6 +78,13 @@ class Label { | 
| return toolchain_name_ < other.toolchain_name_; | 
| } | 
|  | 
| +  void swap(Label& other) { | 
| +    std::swap(dir_, other.dir_); | 
| +    std::swap(name_, other.name_); | 
| +    std::swap(toolchain_dir_, other.toolchain_dir_); | 
| +    std::swap(toolchain_name_, other.toolchain_name_); | 
| +  } | 
| + | 
| // Returns true if the toolchain dir/name of this object matches some | 
| // other object. | 
| bool ToolchainsEqual(const Label& other) const { | 
| @@ -116,4 +123,12 @@ inline size_t hash_value(const Label& v) { | 
|  | 
| }  // namespace BASE_HASH_NAMESPACE | 
|  | 
| +namespace std { | 
| + | 
| +template<> inline void swap(Label& lhs, Label& rhs) { | 
| +  lhs.swap(rhs); | 
| +} | 
| + | 
| +}  // namespace std | 
| + | 
| #endif  // TOOLS_GN_LABEL_H_ | 
|  |