commit | 8345d33ad52f79ee8a59effa104c053f69896c36 | [log] [tgz] |
---|---|---|
author | Daniel Bratell <bratell@opera.com> | Tue Jan 15 11:16:03 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Jan 15 11:16:03 2019 |
tree | 5ef68d074aba9b42771512d9737126afb3488c3b | |
parent | c37769425be6f93a36e9de7c7c30f735919f3428 [diff] |
Resolve another collision between Win32 and atomicops MemoryBarrier Windows defines a MemoryBarrier macro which clashes with a MemoryBarrier construct in base/atomicops.h. Depending on the order of includes, various code can be affected. Currently the Windows jumbo builder is broken in ppapi/proxy because of a sequence of 1. include base/atomicops.h (undefs Memorybarrier which does nothing) 2. include ppapi_messages.h -> base/sync_socket.h -> windows.h (Now MemoryBarrier is a macro) 3. include gpu/command_buffer/common/command_buffer_shared.h -> 3a -> include base/atomicops.h (does nothing because include guards) 3b -> uses base::subtle::MemoryBarrier which is a macro and poof. Normally the undef MemoryBarrier is near the Windows.h include but it's tricky to put in base since there is also code that needs the macro so undeffing it in too generic code can make things worse. Technically this was triggered by the removal of the PPB_compositor APIs but only because the jumbo chunks changed when files were deleted. Change-Id: I06940cadd2ad30d8698199a72cc91e36e8346b50 Reviewed-on: https://chromium-review.googlesource.com/c/1409520 Reviewed-by: Antoine Labour <piman@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Commit-Queue: Daniel Bratell <bratell@opera.com> Cr-Commit-Position: refs/heads/master@{#622812}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .