@@ -30,23 +30,20 @@ namespace {
30
30
llvm::VersionTuple ReadVersionTuple (const uint8_t *&Data) {
31
31
uint8_t NumVersions = (*Data++) & 0x03 ;
32
32
33
- unsigned Major =
34
- endian::readNext<uint32_t , llvm::endianness::little, unaligned>(Data);
33
+ unsigned Major = endian::readNext<uint32_t , llvm::endianness::little>(Data);
35
34
if (NumVersions == 0 )
36
35
return llvm::VersionTuple (Major);
37
36
38
- unsigned Minor =
39
- endian::readNext<uint32_t , llvm::endianness::little, unaligned>(Data);
37
+ unsigned Minor = endian::readNext<uint32_t , llvm::endianness::little>(Data);
40
38
if (NumVersions == 1 )
41
39
return llvm::VersionTuple (Major, Minor);
42
40
43
41
unsigned Subminor =
44
- endian::readNext<uint32_t , llvm::endianness::little, unaligned >(Data);
42
+ endian::readNext<uint32_t , llvm::endianness::little>(Data);
45
43
if (NumVersions == 2 )
46
44
return llvm::VersionTuple (Major, Minor, Subminor);
47
45
48
- unsigned Build =
49
- endian::readNext<uint32_t , llvm::endianness::little, unaligned>(Data);
46
+ unsigned Build = endian::readNext<uint32_t , llvm::endianness::little>(Data);
50
47
return llvm::VersionTuple (Major, Minor, Subminor, Build);
51
48
}
52
49
@@ -71,16 +68,16 @@ class VersionedTableInfo {
71
68
72
69
static std::pair<unsigned , unsigned > ReadKeyDataLength (const uint8_t *&Data) {
73
70
unsigned KeyLength =
74
- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
71
+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
75
72
unsigned DataLength =
76
- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
73
+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
77
74
return {KeyLength, DataLength};
78
75
}
79
76
80
77
static data_type ReadData (internal_key_type Key, const uint8_t *Data,
81
78
unsigned Length) {
82
79
unsigned NumElements =
83
- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
80
+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
84
81
data_type Result;
85
82
Result.reserve (NumElements);
86
83
for (unsigned i = 0 ; i != NumElements; ++i) {
@@ -105,14 +102,14 @@ void ReadCommonEntityInfo(const uint8_t *&Data, CommonEntityInfo &Info) {
105
102
Info.setSwiftPrivate (static_cast <bool >((UnavailableBits >> 3 ) & 0x01 ));
106
103
107
104
unsigned MsgLength =
108
- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
105
+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
109
106
Info.UnavailableMsg =
110
107
std::string (reinterpret_cast <const char *>(Data),
111
108
reinterpret_cast <const char *>(Data) + MsgLength);
112
109
Data += MsgLength;
113
110
114
111
unsigned SwiftNameLength =
115
- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
112
+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
116
113
Info.SwiftName =
117
114
std::string (reinterpret_cast <const char *>(Data),
118
115
reinterpret_cast <const char *>(Data) + SwiftNameLength);
@@ -124,15 +121,15 @@ void ReadCommonTypeInfo(const uint8_t *&Data, CommonTypeInfo &Info) {
124
121
ReadCommonEntityInfo (Data, Info);
125
122
126
123
unsigned SwiftBridgeLength =
127
- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
124
+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
128
125
if (SwiftBridgeLength > 0 ) {
129
126
Info.setSwiftBridge (std::string (reinterpret_cast <const char *>(Data),
130
127
SwiftBridgeLength - 1 ));
131
128
Data += SwiftBridgeLength - 1 ;
132
129
}
133
130
134
131
unsigned ErrorDomainLength =
135
- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
132
+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
136
133
if (ErrorDomainLength > 0 ) {
137
134
Info.setNSErrorDomain (std::optional<std::string>(std::string (
138
135
reinterpret_cast <const char *>(Data), ErrorDomainLength - 1 )));
@@ -163,9 +160,9 @@ class IdentifierTableInfo {
163
160
164
161
static std::pair<unsigned , unsigned > ReadKeyDataLength (const uint8_t *&Data) {
165
162
unsigned KeyLength =
166
- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
163
+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
167
164
unsigned DataLength =
168
- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
165
+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
169
166
return {KeyLength, DataLength};
170
167
}
171
168
@@ -175,8 +172,7 @@ class IdentifierTableInfo {
175
172
176
173
static data_type ReadData (internal_key_type key, const uint8_t *Data,
177
174
unsigned Length) {
178
- return endian::readNext<uint32_t , llvm::endianness::little, unaligned>(
179
- Data);
175
+ return endian::readNext<uint32_t , llvm::endianness::little>(Data);
180
176
}
181
177
};
182
178
@@ -203,26 +199,24 @@ class ObjCContextIDTableInfo {
203
199
204
200
static std::pair<unsigned , unsigned > ReadKeyDataLength (const uint8_t *&Data) {
205
201
unsigned KeyLength =
206
- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
202
+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
207
203
unsigned DataLength =
208
- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
204
+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
209
205
return {KeyLength, DataLength};
210
206
}
211
207
212
208
static internal_key_type ReadKey (const uint8_t *Data, unsigned Length) {
213
209
auto ParentCtxID =
214
- endian::readNext<uint32_t , llvm::endianness::little, unaligned >(Data);
210
+ endian::readNext<uint32_t , llvm::endianness::little>(Data);
215
211
auto ContextKind =
216
- endian::readNext<uint8_t , llvm::endianness::little, unaligned>(Data);
217
- auto NameID =
218
- endian::readNext<uint32_t , llvm::endianness::little, unaligned>(Data);
212
+ endian::readNext<uint8_t , llvm::endianness::little>(Data);
213
+ auto NameID = endian::readNext<uint32_t , llvm::endianness::little>(Data);
219
214
return {ParentCtxID, ContextKind, NameID};
220
215
}
221
216
222
217
static data_type ReadData (internal_key_type Key, const uint8_t *Data,
223
218
unsigned Length) {
224
- return endian::readNext<uint32_t , llvm::endianness::little, unaligned>(
225
- Data);
219
+ return endian::readNext<uint32_t , llvm::endianness::little>(Data);
226
220
}
227
221
};
228
222
@@ -232,8 +226,7 @@ class ObjCContextInfoTableInfo
232
226
ObjCContextInfo> {
233
227
public:
234
228
static internal_key_type ReadKey (const uint8_t *Data, unsigned Length) {
235
- return endian::readNext<uint32_t , llvm::endianness::little, unaligned>(
236
- Data);
229
+ return endian::readNext<uint32_t , llvm::endianness::little>(Data);
237
230
}
238
231
239
232
hash_value_type ComputeHash (internal_key_type Key) {
@@ -273,8 +266,7 @@ void ReadVariableInfo(const uint8_t *&Data, VariableInfo &Info) {
273
266
}
274
267
++Data;
275
268
276
- auto TypeLen =
277
- endian::readNext<uint16_t , llvm::endianness::little, unaligned>(Data);
269
+ auto TypeLen = endian::readNext<uint16_t , llvm::endianness::little>(Data);
278
270
Info.setType (std::string (Data, Data + TypeLen));
279
271
Data += TypeLen;
280
272
}
@@ -286,12 +278,9 @@ class ObjCPropertyTableInfo
286
278
ObjCPropertyInfo> {
287
279
public:
288
280
static internal_key_type ReadKey (const uint8_t *Data, unsigned Length) {
289
- auto ClassID =
290
- endian::readNext<uint32_t , llvm::endianness::little, unaligned>(Data);
291
- auto NameID =
292
- endian::readNext<uint32_t , llvm::endianness::little, unaligned>(Data);
293
- char IsInstance =
294
- endian::readNext<uint8_t , llvm::endianness::little, unaligned>(Data);
281
+ auto ClassID = endian::readNext<uint32_t , llvm::endianness::little>(Data);
282
+ auto NameID = endian::readNext<uint32_t , llvm::endianness::little>(Data);
283
+ char IsInstance = endian::readNext<uint8_t , llvm::endianness::little>(Data);
295
284
return {ClassID, NameID, IsInstance};
296
285
}
297
286
@@ -314,8 +303,7 @@ class ObjCPropertyTableInfo
314
303
void ReadParamInfo (const uint8_t *&Data, ParamInfo &Info) {
315
304
ReadVariableInfo (Data, Info);
316
305
317
- uint8_t Payload =
318
- endian::readNext<uint8_t , llvm::endianness::little, unaligned>(Data);
306
+ uint8_t Payload = endian::readNext<uint8_t , llvm::endianness::little>(Data);
319
307
if (auto RawConvention = Payload & 0x7 ) {
320
308
auto Convention = static_cast <RetainCountConventionKind>(RawConvention - 1 );
321
309
Info.setRetainCountConvention (Convention);
@@ -331,8 +319,7 @@ void ReadParamInfo(const uint8_t *&Data, ParamInfo &Info) {
331
319
void ReadFunctionInfo (const uint8_t *&Data, FunctionInfo &Info) {
332
320
ReadCommonEntityInfo (Data, Info);
333
321
334
- uint8_t Payload =
335
- endian::readNext<uint8_t , llvm::endianness::little, unaligned>(Data);
322
+ uint8_t Payload = endian::readNext<uint8_t , llvm::endianness::little>(Data);
336
323
if (auto RawConvention = Payload & 0x7 ) {
337
324
auto Convention = static_cast <RetainCountConventionKind>(RawConvention - 1 );
338
325
Info.setRetainCountConvention (Convention);
@@ -343,12 +330,12 @@ void ReadFunctionInfo(const uint8_t *&Data, FunctionInfo &Info) {
343
330
assert (Payload == 0 && " Bad API notes" );
344
331
345
332
Info.NumAdjustedNullable =
346
- endian::readNext<uint8_t , llvm::endianness::little, unaligned >(Data);
333
+ endian::readNext<uint8_t , llvm::endianness::little>(Data);
347
334
Info.NullabilityPayload =
348
- endian::readNext<uint64_t , llvm::endianness::little, unaligned >(Data);
335
+ endian::readNext<uint64_t , llvm::endianness::little>(Data);
349
336
350
337
unsigned NumParams =
351
- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
338
+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
352
339
while (NumParams > 0 ) {
353
340
ParamInfo pi ;
354
341
ReadParamInfo (Data, pi );
@@ -357,7 +344,7 @@ void ReadFunctionInfo(const uint8_t *&Data, FunctionInfo &Info) {
357
344
}
358
345
359
346
unsigned ResultTypeLen =
360
- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
347
+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
361
348
Info.ResultType = std::string (Data, Data + ResultTypeLen);
362
349
Data += ResultTypeLen;
363
350
}
@@ -369,12 +356,10 @@ class ObjCMethodTableInfo
369
356
ObjCMethodInfo> {
370
357
public:
371
358
static internal_key_type ReadKey (const uint8_t *Data, unsigned Length) {
372
- auto ClassID =
373
- endian::readNext<uint32_t , llvm::endianness::little, unaligned>(Data);
359
+ auto ClassID = endian::readNext<uint32_t , llvm::endianness::little>(Data);
374
360
auto SelectorID =
375
- endian::readNext<uint32_t , llvm::endianness::little, unaligned>(Data);
376
- auto IsInstance =
377
- endian::readNext<uint8_t , llvm::endianness::little, unaligned>(Data);
361
+ endian::readNext<uint32_t , llvm::endianness::little>(Data);
362
+ auto IsInstance = endian::readNext<uint8_t , llvm::endianness::little>(Data);
378
363
return {ClassID, SelectorID, IsInstance};
379
364
}
380
365
@@ -419,29 +404,26 @@ class ObjCSelectorTableInfo {
419
404
420
405
static std::pair<unsigned , unsigned > ReadKeyDataLength (const uint8_t *&Data) {
421
406
unsigned KeyLength =
422
- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
407
+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
423
408
unsigned DataLength =
424
- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
409
+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
425
410
return {KeyLength, DataLength};
426
411
}
427
412
428
413
static internal_key_type ReadKey (const uint8_t *Data, unsigned Length) {
429
414
internal_key_type Key;
430
- Key.NumArgs =
431
- endian::readNext<uint16_t , llvm::endianness::little, unaligned>(Data);
415
+ Key.NumArgs = endian::readNext<uint16_t , llvm::endianness::little>(Data);
432
416
unsigned NumIdents = (Length - sizeof (uint16_t )) / sizeof (uint32_t );
433
417
for (unsigned i = 0 ; i != NumIdents; ++i) {
434
418
Key.Identifiers .push_back (
435
- endian::readNext<uint32_t , llvm::endianness::little, unaligned>(
436
- Data));
419
+ endian::readNext<uint32_t , llvm::endianness::little>(Data));
437
420
}
438
421
return Key;
439
422
}
440
423
441
424
static data_type ReadData (internal_key_type Key, const uint8_t *Data,
442
425
unsigned Length) {
443
- return endian::readNext<uint32_t , llvm::endianness::little, unaligned>(
444
- Data);
426
+ return endian::readNext<uint32_t , llvm::endianness::little>(Data);
445
427
}
446
428
};
447
429
@@ -451,12 +433,10 @@ class GlobalVariableTableInfo
451
433
GlobalVariableInfo> {
452
434
public:
453
435
static internal_key_type ReadKey (const uint8_t *Data, unsigned Length) {
454
- auto CtxID =
455
- endian::readNext<uint32_t , llvm::endianness::little, unaligned>(Data);
436
+ auto CtxID = endian::readNext<uint32_t , llvm::endianness::little>(Data);
456
437
auto ContextKind =
457
- endian::readNext<uint8_t , llvm::endianness::little, unaligned>(Data);
458
- auto NameID =
459
- endian::readNext<uint32_t , llvm::endianness::little, unaligned>(Data);
438
+ endian::readNext<uint8_t , llvm::endianness::little>(Data);
439
+ auto NameID = endian::readNext<uint32_t , llvm::endianness::little>(Data);
460
440
return {CtxID, ContextKind, NameID};
461
441
}
462
442
@@ -478,12 +458,10 @@ class GlobalFunctionTableInfo
478
458
GlobalFunctionInfo> {
479
459
public:
480
460
static internal_key_type ReadKey (const uint8_t *Data, unsigned Length) {
481
- auto CtxID =
482
- endian::readNext<uint32_t , llvm::endianness::little, unaligned>(Data);
461
+ auto CtxID = endian::readNext<uint32_t , llvm::endianness::little>(Data);
483
462
auto ContextKind =
484
- endian::readNext<uint8_t , llvm::endianness::little, unaligned>(Data);
485
- auto NameID =
486
- endian::readNext<uint32_t , llvm::endianness::little, unaligned>(Data);
463
+ endian::readNext<uint8_t , llvm::endianness::little>(Data);
464
+ auto NameID = endian::readNext<uint32_t , llvm::endianness::little>(Data);
487
465
return {CtxID, ContextKind, NameID};
488
466
}
489
467
@@ -505,8 +483,7 @@ class EnumConstantTableInfo
505
483
EnumConstantInfo> {
506
484
public:
507
485
static internal_key_type ReadKey (const uint8_t *Data, unsigned Length) {
508
- auto NameID =
509
- endian::readNext<uint32_t , llvm::endianness::little, unaligned>(Data);
486
+ auto NameID = endian::readNext<uint32_t , llvm::endianness::little>(Data);
510
487
return NameID;
511
488
}
512
489
@@ -527,13 +504,11 @@ class TagTableInfo
527
504
: public VersionedTableInfo<TagTableInfo, ContextTableKey, TagInfo> {
528
505
public:
529
506
static internal_key_type ReadKey (const uint8_t *Data, unsigned Length) {
530
- auto CtxID =
531
- endian::readNext<uint32_t , llvm::endianness::little, unaligned>(Data);
507
+ auto CtxID = endian::readNext<uint32_t , llvm::endianness::little>(Data);
532
508
auto ContextKind =
533
- endian::readNext<uint8_t , llvm::endianness::little, unaligned >(Data);
509
+ endian::readNext<uint8_t , llvm::endianness::little>(Data);
534
510
auto NameID =
535
- endian::readNext<IdentifierID, llvm::endianness::little, unaligned>(
536
- Data);
511
+ endian::readNext<IdentifierID, llvm::endianness::little>(Data);
537
512
return {CtxID, ContextKind, NameID};
538
513
}
539
514
@@ -553,21 +528,21 @@ class TagTableInfo
553
528
static_cast <EnumExtensibilityKind>((Payload & 0x3 ) - 1 );
554
529
555
530
unsigned ImportAsLength =
556
- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
531
+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
557
532
if (ImportAsLength > 0 ) {
558
533
Info.SwiftImportAs =
559
534
std::string (reinterpret_cast <const char *>(Data), ImportAsLength - 1 );
560
535
Data += ImportAsLength - 1 ;
561
536
}
562
537
unsigned RetainOpLength =
563
- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
538
+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
564
539
if (RetainOpLength > 0 ) {
565
540
Info.SwiftRetainOp =
566
541
std::string (reinterpret_cast <const char *>(Data), RetainOpLength - 1 );
567
542
Data += RetainOpLength - 1 ;
568
543
}
569
544
unsigned ReleaseOpLength =
570
- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
545
+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
571
546
if (ReleaseOpLength > 0 ) {
572
547
Info.SwiftReleaseOp = std::string (reinterpret_cast <const char *>(Data),
573
548
ReleaseOpLength - 1 );
@@ -585,13 +560,11 @@ class TypedefTableInfo
585
560
TypedefInfo> {
586
561
public:
587
562
static internal_key_type ReadKey (const uint8_t *Data, unsigned Length) {
588
- auto CtxID =
589
- endian::readNext<uint32_t , llvm::endianness::little, unaligned>(Data);
563
+ auto CtxID = endian::readNext<uint32_t , llvm::endianness::little>(Data);
590
564
auto ContextKind =
591
- endian::readNext<uint8_t , llvm::endianness::little, unaligned >(Data);
565
+ endian::readNext<uint8_t , llvm::endianness::little>(Data);
592
566
auto nameID =
593
- endian::readNext<IdentifierID, llvm::endianness::little, unaligned>(
594
- Data);
567
+ endian::readNext<IdentifierID, llvm::endianness::little>(Data);
595
568
return {CtxID, ContextKind, nameID};
596
569
}
597
570
0 commit comments