Skip to content

Commit 6f3ba39

Browse files
committed
Files system/lib/embind/bind.cpp and src/library_cyberdwarf.js had mismatching DOS \r\n line endings in repository, convert them to Unix \n line endings, which is the convention for this repository.
1 parent ccd7c89 commit 6f3ba39

File tree

2 files changed

+158
-158
lines changed

2 files changed

+158
-158
lines changed

src/library_cyberdwarf.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
var LibraryCyberdwarf = {
2-
// These are empty, designed to be replaced when a debugger is invoked
3-
metadata_llvm_dbg_value_constant: function(a,b,c,d) {
4-
},
5-
metadata_llvm_dbg_value_local: function(a,b,c,d) {
6-
}
7-
};
8-
9-
mergeInto(LibraryManager.library, LibraryCyberdwarf);
1+
var LibraryCyberdwarf = {
2+
// These are empty, designed to be replaced when a debugger is invoked
3+
metadata_llvm_dbg_value_constant: function(a,b,c,d) {
4+
},
5+
metadata_llvm_dbg_value_local: function(a,b,c,d) {
6+
}
7+
};
8+
9+
mergeInto(LibraryManager.library, LibraryCyberdwarf);

system/lib/embind/bind.cpp

Lines changed: 149 additions & 149 deletions
Original file line numberDiff line numberDiff line change
@@ -1,149 +1,149 @@
1-
#include <emscripten/bind.h>
2-
#ifdef USE_CXA_DEMANGLE
3-
#include <../lib/libcxxabi/include/cxxabi.h>
4-
#endif
5-
#include <list>
6-
#include <vector>
7-
#include <typeinfo>
8-
#include <algorithm>
9-
#include <emscripten/emscripten.h>
10-
#include <emscripten/wire.h>
11-
#include <climits>
12-
#include <limits>
13-
14-
using namespace emscripten;
15-
16-
extern "C" {
17-
const char* __attribute__((used)) __getTypeName(const std::type_info* ti) {
18-
if (has_unbound_type_names) {
19-
#ifdef USE_CXA_DEMANGLE
20-
int stat;
21-
char* demangled = abi::__cxa_demangle(ti->name(), NULL, NULL, &stat);
22-
if (stat == 0 && demangled) {
23-
return demangled;
24-
}
25-
26-
switch (stat) {
27-
case -1:
28-
return strdup("<allocation failure>");
29-
case -2:
30-
return strdup("<invalid C++ symbol>");
31-
case -3:
32-
return strdup("<invalid argument>");
33-
default:
34-
return strdup("<unknown error>");
35-
}
36-
#else
37-
return strdup(ti->name());
38-
#endif
39-
} else {
40-
char str[80];
41-
sprintf(str, "%p", reinterpret_cast<const void*>(ti));
42-
return strdup(str);
43-
}
44-
}
45-
}
46-
47-
namespace {
48-
template<typename T>
49-
static void register_integer(const char* name) {
50-
using namespace internal;
51-
_embind_register_integer(TypeID<T>::get(), name, sizeof(T), std::numeric_limits<T>::min(), std::numeric_limits<T>::max());
52-
}
53-
54-
template<typename T>
55-
static void register_float(const char* name) {
56-
using namespace internal;
57-
_embind_register_float(TypeID<T>::get(), name, sizeof(T));
58-
}
59-
60-
61-
// matches typeMapping in embind.js
62-
enum TypedArrayIndex {
63-
Int8Array,
64-
Uint8Array,
65-
Int16Array,
66-
Uint16Array,
67-
Int32Array,
68-
Uint32Array,
69-
Float32Array,
70-
Float64Array,
71-
};
72-
73-
template<typename T>
74-
constexpr TypedArrayIndex getTypedArrayIndex() {
75-
static_assert(internal::typeSupportsMemoryView<T>(),
76-
"type does not map to a typed array");
77-
return std::is_floating_point<T>::value
78-
? (sizeof(T) == 4
79-
? Float32Array
80-
: Float64Array)
81-
: (sizeof(T) == 1
82-
? (std::is_signed<T>::value ? Int8Array : Uint8Array)
83-
: (sizeof(T) == 2
84-
? (std::is_signed<T>::value ? Int16Array : Uint16Array)
85-
: (std::is_signed<T>::value ? Int32Array : Uint32Array)));
86-
}
87-
88-
template<typename T>
89-
static void register_memory_view(const char* name) {
90-
using namespace internal;
91-
_embind_register_memory_view(TypeID<memory_view<T>>::get(), getTypedArrayIndex<T>(), name);
92-
}
93-
}
94-
95-
EMSCRIPTEN_BINDINGS(native_and_builtin_types) {
96-
using namespace emscripten::internal;
97-
98-
_embind_register_void(TypeID<void>::get(), "void");
99-
100-
_embind_register_bool(TypeID<bool>::get(), "bool", sizeof(bool), true, false);
101-
102-
register_integer<char>("char");
103-
register_integer<signed char>("signed char");
104-
register_integer<unsigned char>("unsigned char");
105-
register_integer<signed short>("short");
106-
register_integer<unsigned short>("unsigned short");
107-
register_integer<signed int>("int");
108-
register_integer<unsigned int>("unsigned int");
109-
register_integer<signed long>("long");
110-
register_integer<unsigned long>("unsigned long");
111-
112-
register_float<float>("float");
113-
register_float<double>("double");
114-
115-
_embind_register_std_string(TypeID<std::string>::get(), "std::string");
116-
_embind_register_std_string(TypeID<std::basic_string<unsigned char> >::get(), "std::basic_string<unsigned char>");
117-
_embind_register_std_wstring(TypeID<std::wstring>::get(), sizeof(wchar_t), "std::wstring");
118-
_embind_register_emval(TypeID<val>::get(), "emscripten::val");
119-
120-
// Some of these types are aliases for each other. Luckily,
121-
// embind.js's _embind_register_memory_view ignores duplicate
122-
// registrations rather than asserting, so the first
123-
// register_memory_view call for a particular type will take
124-
// precedence.
125-
126-
register_memory_view<char>("emscripten::memory_view<char>");
127-
register_memory_view<signed char>("emscripten::memory_view<signed char>");
128-
register_memory_view<unsigned char>("emscripten::memory_view<unsigned char>");
129-
130-
register_memory_view<short>("emscripten::memory_view<short>");
131-
register_memory_view<unsigned short>("emscripten::memory_view<unsigned short>");
132-
register_memory_view<int>("emscripten::memory_view<int>");
133-
register_memory_view<unsigned int>("emscripten::memory_view<unsigned int>");
134-
register_memory_view<long>("emscripten::memory_view<long>");
135-
register_memory_view<unsigned long>("emscripten::memory_view<unsigned long>");
136-
137-
register_memory_view<int8_t>("emscripten::memory_view<int8_t>");
138-
register_memory_view<uint8_t>("emscripten::memory_view<uint8_t>");
139-
register_memory_view<int16_t>("emscripten::memory_view<int16_t>");
140-
register_memory_view<uint16_t>("emscripten::memory_view<uint16_t>");
141-
register_memory_view<int32_t>("emscripten::memory_view<int32_t>");
142-
register_memory_view<uint32_t>("emscripten::memory_view<uint32_t>");
143-
144-
register_memory_view<float>("emscripten::memory_view<float>");
145-
register_memory_view<double>("emscripten::memory_view<double>");
146-
#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__
147-
register_memory_view<long double>("emscripten::memory_view<long double>");
148-
#endif
149-
}
1+
#include <emscripten/bind.h>
2+
#ifdef USE_CXA_DEMANGLE
3+
#include <../lib/libcxxabi/include/cxxabi.h>
4+
#endif
5+
#include <list>
6+
#include <vector>
7+
#include <typeinfo>
8+
#include <algorithm>
9+
#include <emscripten/emscripten.h>
10+
#include <emscripten/wire.h>
11+
#include <climits>
12+
#include <limits>
13+
14+
using namespace emscripten;
15+
16+
extern "C" {
17+
const char* __attribute__((used)) __getTypeName(const std::type_info* ti) {
18+
if (has_unbound_type_names) {
19+
#ifdef USE_CXA_DEMANGLE
20+
int stat;
21+
char* demangled = abi::__cxa_demangle(ti->name(), NULL, NULL, &stat);
22+
if (stat == 0 && demangled) {
23+
return demangled;
24+
}
25+
26+
switch (stat) {
27+
case -1:
28+
return strdup("<allocation failure>");
29+
case -2:
30+
return strdup("<invalid C++ symbol>");
31+
case -3:
32+
return strdup("<invalid argument>");
33+
default:
34+
return strdup("<unknown error>");
35+
}
36+
#else
37+
return strdup(ti->name());
38+
#endif
39+
} else {
40+
char str[80];
41+
sprintf(str, "%p", reinterpret_cast<const void*>(ti));
42+
return strdup(str);
43+
}
44+
}
45+
}
46+
47+
namespace {
48+
template<typename T>
49+
static void register_integer(const char* name) {
50+
using namespace internal;
51+
_embind_register_integer(TypeID<T>::get(), name, sizeof(T), std::numeric_limits<T>::min(), std::numeric_limits<T>::max());
52+
}
53+
54+
template<typename T>
55+
static void register_float(const char* name) {
56+
using namespace internal;
57+
_embind_register_float(TypeID<T>::get(), name, sizeof(T));
58+
}
59+
60+
61+
// matches typeMapping in embind.js
62+
enum TypedArrayIndex {
63+
Int8Array,
64+
Uint8Array,
65+
Int16Array,
66+
Uint16Array,
67+
Int32Array,
68+
Uint32Array,
69+
Float32Array,
70+
Float64Array,
71+
};
72+
73+
template<typename T>
74+
constexpr TypedArrayIndex getTypedArrayIndex() {
75+
static_assert(internal::typeSupportsMemoryView<T>(),
76+
"type does not map to a typed array");
77+
return std::is_floating_point<T>::value
78+
? (sizeof(T) == 4
79+
? Float32Array
80+
: Float64Array)
81+
: (sizeof(T) == 1
82+
? (std::is_signed<T>::value ? Int8Array : Uint8Array)
83+
: (sizeof(T) == 2
84+
? (std::is_signed<T>::value ? Int16Array : Uint16Array)
85+
: (std::is_signed<T>::value ? Int32Array : Uint32Array)));
86+
}
87+
88+
template<typename T>
89+
static void register_memory_view(const char* name) {
90+
using namespace internal;
91+
_embind_register_memory_view(TypeID<memory_view<T>>::get(), getTypedArrayIndex<T>(), name);
92+
}
93+
}
94+
95+
EMSCRIPTEN_BINDINGS(native_and_builtin_types) {
96+
using namespace emscripten::internal;
97+
98+
_embind_register_void(TypeID<void>::get(), "void");
99+
100+
_embind_register_bool(TypeID<bool>::get(), "bool", sizeof(bool), true, false);
101+
102+
register_integer<char>("char");
103+
register_integer<signed char>("signed char");
104+
register_integer<unsigned char>("unsigned char");
105+
register_integer<signed short>("short");
106+
register_integer<unsigned short>("unsigned short");
107+
register_integer<signed int>("int");
108+
register_integer<unsigned int>("unsigned int");
109+
register_integer<signed long>("long");
110+
register_integer<unsigned long>("unsigned long");
111+
112+
register_float<float>("float");
113+
register_float<double>("double");
114+
115+
_embind_register_std_string(TypeID<std::string>::get(), "std::string");
116+
_embind_register_std_string(TypeID<std::basic_string<unsigned char> >::get(), "std::basic_string<unsigned char>");
117+
_embind_register_std_wstring(TypeID<std::wstring>::get(), sizeof(wchar_t), "std::wstring");
118+
_embind_register_emval(TypeID<val>::get(), "emscripten::val");
119+
120+
// Some of these types are aliases for each other. Luckily,
121+
// embind.js's _embind_register_memory_view ignores duplicate
122+
// registrations rather than asserting, so the first
123+
// register_memory_view call for a particular type will take
124+
// precedence.
125+
126+
register_memory_view<char>("emscripten::memory_view<char>");
127+
register_memory_view<signed char>("emscripten::memory_view<signed char>");
128+
register_memory_view<unsigned char>("emscripten::memory_view<unsigned char>");
129+
130+
register_memory_view<short>("emscripten::memory_view<short>");
131+
register_memory_view<unsigned short>("emscripten::memory_view<unsigned short>");
132+
register_memory_view<int>("emscripten::memory_view<int>");
133+
register_memory_view<unsigned int>("emscripten::memory_view<unsigned int>");
134+
register_memory_view<long>("emscripten::memory_view<long>");
135+
register_memory_view<unsigned long>("emscripten::memory_view<unsigned long>");
136+
137+
register_memory_view<int8_t>("emscripten::memory_view<int8_t>");
138+
register_memory_view<uint8_t>("emscripten::memory_view<uint8_t>");
139+
register_memory_view<int16_t>("emscripten::memory_view<int16_t>");
140+
register_memory_view<uint16_t>("emscripten::memory_view<uint16_t>");
141+
register_memory_view<int32_t>("emscripten::memory_view<int32_t>");
142+
register_memory_view<uint32_t>("emscripten::memory_view<uint32_t>");
143+
144+
register_memory_view<float>("emscripten::memory_view<float>");
145+
register_memory_view<double>("emscripten::memory_view<double>");
146+
#if __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__
147+
register_memory_view<long double>("emscripten::memory_view<long double>");
148+
#endif
149+
}

0 commit comments

Comments
 (0)