Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(878)

Side by Side Diff: webrtc/system_wrappers/interface/fix_interlocked_exchange_pointer_win.h

Issue 1413333002: system_wrappers: rename interface -> include (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebased again! Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 // Various inline functions and macros to fix compilation of 32 bit target
12 // on MSVC with /Wp64 flag enabled.
13
14 // The original code can be found here:
15 // http://src.chromium.org/svn/trunk/src/base/fix_wp64.h
16
17 #ifndef WEBRTC_SYSTEM_WRAPPERS_SOURCE_FIX_INTERLOCKED_EXCHANGE_POINTER_WINDOWS_H _
18 #define WEBRTC_SYSTEM_WRAPPERS_SOURCE_FIX_INTERLOCKED_EXCHANGE_POINTER_WINDOWS_H _
19
20 #include <windows.h>
21
22 // Platform SDK fixes when building with /Wp64 for a 32 bits target.
23 #if !defined(_WIN64) && defined(_Wp64)
24
25 #ifdef InterlockedExchangePointer
26 #undef InterlockedExchangePointer
27 // The problem is that the macro provided for InterlockedExchangePointer() is
28 // doing a (LONG) C-style cast that triggers invariably the warning C4312 when
29 // building on 32 bits.
30 inline void* InterlockedExchangePointer(void* volatile* target, void* value) {
31 return reinterpret_cast<void*>(static_cast<LONG_PTR>(InterlockedExchange(
32 reinterpret_cast<volatile LONG*>(target),
33 static_cast<LONG>(reinterpret_cast<LONG_PTR>(value)))));
34 }
35 #endif // #ifdef InterlockedExchangePointer
36
37 #endif // #if !defined(_WIN64) && defined(_Wp64)
38
39 #endif // WEBRTC_SYSTEM_WRAPPERS_SOURCE_FIX_INTERLOCKED_EXCHANGE_POINTER_WINDOWS _H_
OLDNEW
« no previous file with comments | « webrtc/system_wrappers/interface/file_wrapper.h ('k') | webrtc/system_wrappers/interface/logcat_trace_context.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698