View | Details | Raw Unified | Return to bug 212431 | Differences between
and this patch

Collapse All | Expand All

(-)config/stl-headers (+1 lines)
Lines 29-44 iterator Link Here
29
limits
29
limits
30
list
30
list
31
map
31
map
32
memory
32
memory
33
ostream
33
ostream
34
set
34
set
35
stack
35
stack
36
string
36
string
37
type_traits
37
utility
38
utility
38
vector
39
vector
39
cassert
40
cassert
40
climits
41
climits
41
cmath
42
cmath
42
cstdarg
43
cstdarg
43
cstdio
44
cstdio
44
cstdlib
45
cstdlib
(-)config/system-headers (+1 lines)
Lines 1109-1124 ThreadManagerTests.h Link Here
1109
Threads.h
1109
Threads.h
1110
time.h
1110
time.h
1111
Timer.h
1111
Timer.h
1112
tlhelp32.h
1112
tlhelp32.h
1113
ToolUtils.h
1113
ToolUtils.h
1114
tr1/functional
1114
tr1/functional
1115
trace.h
1115
trace.h
1116
Traps.h
1116
Traps.h
1117
type_traits
1117
typeinfo
1118
typeinfo
1118
types.h
1119
types.h
1119
Types.h
1120
Types.h
1120
UAppleEventsMgr.h
1121
UAppleEventsMgr.h
1121
UAttachments.h
1122
UAttachments.h
1122
ucontext.h
1123
ucontext.h
1123
uconv.h
1124
uconv.h
1124
UCursor.h
1125
UCursor.h
(-)gfx/skia/skia/include/config/SkUserConfig.h (+11 lines)
Lines 159-167 Link Here
159
#ifndef MOZ_IMPLICIT
159
#ifndef MOZ_IMPLICIT
160
#  ifdef MOZ_CLANG_PLUGIN
160
#  ifdef MOZ_CLANG_PLUGIN
161
#    define MOZ_IMPLICIT __attribute__((annotate("moz_implicit")))
161
#    define MOZ_IMPLICIT __attribute__((annotate("moz_implicit")))
162
#  else
162
#  else
163
#    define MOZ_IMPLICIT
163
#    define MOZ_IMPLICIT
164
#  endif
164
#  endif
165
#endif
165
#endif
166
166
167
/* Check if building with either MSVC, libc++, or a sufficiently recent version of libstdc++.
168
+ * On platforms like OS X 10.6 or older Android SDKs, we need to work around a lack of certain
169
+ * C++11 features.
170
+ */
171
#include "mozilla/Compiler.h"
172
#if MOZ_IS_MSVC || MOZ_USING_LIBCXX || MOZ_LIBSTDCXX_VERSION_AT_LEAST(4, 8, 0)
173
#  define MOZ_SKIA_AVOID_CXX11 0
174
#else
175
#  define MOZ_SKIA_AVOID_CXX11 1
167
#endif
176
#endif
177
178
#endif
(-)gfx/skia/skia/include/private/SkTLogic.h (-18 / +4 lines)
Lines 24-30 Link Here
24
#include <algorithm>
24
#include <algorithm>
25
#endif
25
#endif
26
26
27
#ifdef MOZ_SKIA
27
#if MOZ_SKIA_AVOID_CXX11
28
#include "mozilla/Move.h"
28
#include "mozilla/Move.h"
29
#include "mozilla/TypeTraits.h"
29
#include "mozilla/TypeTraits.h"
30
30
Lines 32-54 Link Here
32
#include "mozilla/Function.h"
32
#include "mozilla/Function.h"
33
#endif
33
#endif
34
34
35
// In libc++, symbols such as std::forward may be defined in std::__1.
35
namespace std {
36
// The _LIBCPP_BEGIN_NAMESPACE_STD and _LIBCPP_END_NAMESPACE_STD macros
37
// will expand to the correct namespace.
38
#ifdef _LIBCPP_BEGIN_NAMESPACE_STD
39
#define MOZ_BEGIN_STD_NAMESPACE _LIBCPP_BEGIN_NAMESPACE_STD
40
#define MOZ_END_STD_NAMESPACE _LIBCPP_END_NAMESPACE_STD
41
#else
42
#define MOZ_BEGIN_STD_NAMESPACE namespace std {
43
#define MOZ_END_STD_NAMESPACE }
44
#endif
45
46
MOZ_BEGIN_STD_NAMESPACE
47
    using mozilla::Forward;
36
    using mozilla::Forward;
48
    #define forward Forward
37
    #define forward Forward
49
MOZ_END_STD_NAMESPACE
50
51
namespace std {
52
#if SKIA_IMPLEMENTATION
38
#if SKIA_IMPLEMENTATION
53
    using mozilla::IntegralConstant;
39
    using mozilla::IntegralConstant;
54
    using mozilla::IsEmpty;
40
    using mozilla::IsEmpty;
Lines 73-79 template <bool B, typename T = void> usi Link Here
73
59
74
}
60
}
75
61
76
#else /* !MOZ_SKIA */
62
#else /* !MOZ_SKIA_AVOID_CXX11 */
77
63
78
#include <type_traits>
64
#include <type_traits>
79
#include <functional>
65
#include <functional>
Lines 178-184 template <typename D, typename S> using Link Here
178
164
179
}  // namespace sknonstd
165
}  // namespace sknonstd
180
166
181
#endif /* MOZ_SKIA */
167
#endif /* MOZ_SKIA_AVOID_CXX11 */
182
168
183
// Just a pithier wrapper for enable_if_t.
169
// Just a pithier wrapper for enable_if_t.
184
#define SK_WHEN(condition, T) skstd::enable_if_t<!!(condition), T>
170
#define SK_WHEN(condition, T) skstd::enable_if_t<!!(condition), T>
(-)gfx/skia/skia/include/private/SkUniquePtr.h (-1 / +1 lines)
Lines 7-23 Link Here
7
7
8
#ifndef SkUniquePtr_DEFINED
8
#ifndef SkUniquePtr_DEFINED
9
#define SkUniquePtr_DEFINED
9
#define SkUniquePtr_DEFINED
10
10
11
#include "SkTLogic.h"
11
#include "SkTLogic.h"
12
#include <cstddef>
12
#include <cstddef>
13
#include <utility>
13
#include <utility>
14
14
15
#ifdef MOZ_SKIA
15
#if MOZ_SKIA_AVOID_CXX11
16
#include "mozilla/UniquePtr.h"
16
#include "mozilla/UniquePtr.h"
17
17
18
namespace std {
18
namespace std {
19
    using mozilla::DefaultDelete;
19
    using mozilla::DefaultDelete;
20
    using mozilla::UniquePtr;
20
    using mozilla::UniquePtr;
21
}
21
}
22
22
23
namespace skstd {
23
namespace skstd {

Return to bug 212431