| Index: mojo/public/cpp/system/handle.h
|
| diff --git a/mojo/public/cpp/system/handle.h b/mojo/public/cpp/system/handle.h
|
| index af81824603f6d00a7542b2173206105d551b93ee..b33d8068a652779f36b9aa7bf3c2b22716e2ca13 100644
|
| --- a/mojo/public/cpp/system/handle.h
|
| +++ b/mojo/public/cpp/system/handle.h
|
| @@ -238,7 +238,15 @@ inline MojoResult CloseRaw(Handle handle) {
|
|
|
| // Strict weak ordering, so that |Handle|s can be used as keys in |std::map|s,
|
| // etc.
|
| +#ifdef __native_client__
|
| +// Passing the operands by reference confuses the STL implementation in NaCl's
|
| +// GCC toolchain and results in specialized templates that break strict aliasing
|
| +// rules.
|
| +// TODO(ncbray): unhack this.
|
| +inline bool operator<(const Handle a, const Handle b) {
|
| +#else
|
| inline bool operator<(const Handle& a, const Handle& b) {
|
| +#endif
|
| return a.value() < b.value();
|
| }
|
|
|
|
|