@@ -30,23 +30,20 @@ namespace {
3030llvm::VersionTuple ReadVersionTuple (const uint8_t *&Data) {
3131 uint8_t NumVersions = (*Data++) & 0x03 ;
3232
33- unsigned Major =
34- endian::readNext<uint32_t , llvm::endianness::little, unaligned>(Data);
33+ unsigned Major = endian::readNext<uint32_t , llvm::endianness::little>(Data);
3534 if (NumVersions == 0 )
3635 return llvm::VersionTuple (Major);
3736
38- unsigned Minor =
39- endian::readNext<uint32_t , llvm::endianness::little, unaligned>(Data);
37+ unsigned Minor = endian::readNext<uint32_t , llvm::endianness::little>(Data);
4038 if (NumVersions == 1 )
4139 return llvm::VersionTuple (Major, Minor);
4240
4341 unsigned Subminor =
44- endian::readNext<uint32_t , llvm::endianness::little, unaligned >(Data);
42+ endian::readNext<uint32_t , llvm::endianness::little>(Data);
4543 if (NumVersions == 2 )
4644 return llvm::VersionTuple (Major, Minor, Subminor);
4745
48- unsigned Build =
49- endian::readNext<uint32_t , llvm::endianness::little, unaligned>(Data);
46+ unsigned Build = endian::readNext<uint32_t , llvm::endianness::little>(Data);
5047 return llvm::VersionTuple (Major, Minor, Subminor, Build);
5148}
5249
@@ -71,16 +68,16 @@ class VersionedTableInfo {
7168
7269 static std::pair<unsigned , unsigned > ReadKeyDataLength (const uint8_t *&Data) {
7370 unsigned KeyLength =
74- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
71+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
7572 unsigned DataLength =
76- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
73+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
7774 return {KeyLength, DataLength};
7875 }
7976
8077 static data_type ReadData (internal_key_type Key, const uint8_t *Data,
8178 unsigned Length) {
8279 unsigned NumElements =
83- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
80+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
8481 data_type Result;
8582 Result.reserve (NumElements);
8683 for (unsigned i = 0 ; i != NumElements; ++i) {
@@ -105,14 +102,14 @@ void ReadCommonEntityInfo(const uint8_t *&Data, CommonEntityInfo &Info) {
105102 Info.setSwiftPrivate (static_cast <bool >((UnavailableBits >> 3 ) & 0x01 ));
106103
107104 unsigned MsgLength =
108- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
105+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
109106 Info.UnavailableMsg =
110107 std::string (reinterpret_cast <const char *>(Data),
111108 reinterpret_cast <const char *>(Data) + MsgLength);
112109 Data += MsgLength;
113110
114111 unsigned SwiftNameLength =
115- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
112+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
116113 Info.SwiftName =
117114 std::string (reinterpret_cast <const char *>(Data),
118115 reinterpret_cast <const char *>(Data) + SwiftNameLength);
@@ -124,15 +121,15 @@ void ReadCommonTypeInfo(const uint8_t *&Data, CommonTypeInfo &Info) {
124121 ReadCommonEntityInfo (Data, Info);
125122
126123 unsigned SwiftBridgeLength =
127- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
124+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
128125 if (SwiftBridgeLength > 0 ) {
129126 Info.setSwiftBridge (std::string (reinterpret_cast <const char *>(Data),
130127 SwiftBridgeLength - 1 ));
131128 Data += SwiftBridgeLength - 1 ;
132129 }
133130
134131 unsigned ErrorDomainLength =
135- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
132+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
136133 if (ErrorDomainLength > 0 ) {
137134 Info.setNSErrorDomain (std::optional<std::string>(std::string (
138135 reinterpret_cast <const char *>(Data), ErrorDomainLength - 1 )));
@@ -163,9 +160,9 @@ class IdentifierTableInfo {
163160
164161 static std::pair<unsigned , unsigned > ReadKeyDataLength (const uint8_t *&Data) {
165162 unsigned KeyLength =
166- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
163+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
167164 unsigned DataLength =
168- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
165+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
169166 return {KeyLength, DataLength};
170167 }
171168
@@ -175,8 +172,7 @@ class IdentifierTableInfo {
175172
176173 static data_type ReadData (internal_key_type key, const uint8_t *Data,
177174 unsigned Length) {
178- return endian::readNext<uint32_t , llvm::endianness::little, unaligned>(
179- Data);
175+ return endian::readNext<uint32_t , llvm::endianness::little>(Data);
180176 }
181177};
182178
@@ -203,26 +199,24 @@ class ObjCContextIDTableInfo {
203199
204200 static std::pair<unsigned , unsigned > ReadKeyDataLength (const uint8_t *&Data) {
205201 unsigned KeyLength =
206- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
202+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
207203 unsigned DataLength =
208- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
204+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
209205 return {KeyLength, DataLength};
210206 }
211207
212208 static internal_key_type ReadKey (const uint8_t *Data, unsigned Length) {
213209 auto ParentCtxID =
214- endian::readNext<uint32_t , llvm::endianness::little, unaligned >(Data);
210+ endian::readNext<uint32_t , llvm::endianness::little>(Data);
215211 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);
219214 return {ParentCtxID, ContextKind, NameID};
220215 }
221216
222217 static data_type ReadData (internal_key_type Key, const uint8_t *Data,
223218 unsigned Length) {
224- return endian::readNext<uint32_t , llvm::endianness::little, unaligned>(
225- Data);
219+ return endian::readNext<uint32_t , llvm::endianness::little>(Data);
226220 }
227221};
228222
@@ -232,8 +226,7 @@ class ObjCContextInfoTableInfo
232226 ObjCContextInfo> {
233227public:
234228 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);
237230 }
238231
239232 hash_value_type ComputeHash (internal_key_type Key) {
@@ -273,8 +266,7 @@ void ReadVariableInfo(const uint8_t *&Data, VariableInfo &Info) {
273266 }
274267 ++Data;
275268
276- auto TypeLen =
277- endian::readNext<uint16_t , llvm::endianness::little, unaligned>(Data);
269+ auto TypeLen = endian::readNext<uint16_t , llvm::endianness::little>(Data);
278270 Info.setType (std::string (Data, Data + TypeLen));
279271 Data += TypeLen;
280272}
@@ -286,12 +278,9 @@ class ObjCPropertyTableInfo
286278 ObjCPropertyInfo> {
287279public:
288280 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);
295284 return {ClassID, NameID, IsInstance};
296285 }
297286
@@ -314,8 +303,7 @@ class ObjCPropertyTableInfo
314303void ReadParamInfo (const uint8_t *&Data, ParamInfo &Info) {
315304 ReadVariableInfo (Data, Info);
316305
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);
319307 if (auto RawConvention = Payload & 0x7 ) {
320308 auto Convention = static_cast <RetainCountConventionKind>(RawConvention - 1 );
321309 Info.setRetainCountConvention (Convention);
@@ -331,8 +319,7 @@ void ReadParamInfo(const uint8_t *&Data, ParamInfo &Info) {
331319void ReadFunctionInfo (const uint8_t *&Data, FunctionInfo &Info) {
332320 ReadCommonEntityInfo (Data, Info);
333321
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);
336323 if (auto RawConvention = Payload & 0x7 ) {
337324 auto Convention = static_cast <RetainCountConventionKind>(RawConvention - 1 );
338325 Info.setRetainCountConvention (Convention);
@@ -343,12 +330,12 @@ void ReadFunctionInfo(const uint8_t *&Data, FunctionInfo &Info) {
343330 assert (Payload == 0 && " Bad API notes" );
344331
345332 Info.NumAdjustedNullable =
346- endian::readNext<uint8_t , llvm::endianness::little, unaligned >(Data);
333+ endian::readNext<uint8_t , llvm::endianness::little>(Data);
347334 Info.NullabilityPayload =
348- endian::readNext<uint64_t , llvm::endianness::little, unaligned >(Data);
335+ endian::readNext<uint64_t , llvm::endianness::little>(Data);
349336
350337 unsigned NumParams =
351- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
338+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
352339 while (NumParams > 0 ) {
353340 ParamInfo pi;
354341 ReadParamInfo (Data, pi);
@@ -357,7 +344,7 @@ void ReadFunctionInfo(const uint8_t *&Data, FunctionInfo &Info) {
357344 }
358345
359346 unsigned ResultTypeLen =
360- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
347+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
361348 Info.ResultType = std::string (Data, Data + ResultTypeLen);
362349 Data += ResultTypeLen;
363350}
@@ -369,12 +356,10 @@ class ObjCMethodTableInfo
369356 ObjCMethodInfo> {
370357public:
371358 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);
374360 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);
378363 return {ClassID, SelectorID, IsInstance};
379364 }
380365
@@ -419,29 +404,26 @@ class ObjCSelectorTableInfo {
419404
420405 static std::pair<unsigned , unsigned > ReadKeyDataLength (const uint8_t *&Data) {
421406 unsigned KeyLength =
422- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
407+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
423408 unsigned DataLength =
424- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
409+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
425410 return {KeyLength, DataLength};
426411 }
427412
428413 static internal_key_type ReadKey (const uint8_t *Data, unsigned Length) {
429414 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);
432416 unsigned NumIdents = (Length - sizeof (uint16_t )) / sizeof (uint32_t );
433417 for (unsigned i = 0 ; i != NumIdents; ++i) {
434418 Key.Identifiers .push_back (
435- endian::readNext<uint32_t , llvm::endianness::little, unaligned>(
436- Data));
419+ endian::readNext<uint32_t , llvm::endianness::little>(Data));
437420 }
438421 return Key;
439422 }
440423
441424 static data_type ReadData (internal_key_type Key, const uint8_t *Data,
442425 unsigned Length) {
443- return endian::readNext<uint32_t , llvm::endianness::little, unaligned>(
444- Data);
426+ return endian::readNext<uint32_t , llvm::endianness::little>(Data);
445427 }
446428};
447429
@@ -451,12 +433,10 @@ class GlobalVariableTableInfo
451433 GlobalVariableInfo> {
452434public:
453435 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);
456437 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);
460440 return {CtxID, ContextKind, NameID};
461441 }
462442
@@ -478,12 +458,10 @@ class GlobalFunctionTableInfo
478458 GlobalFunctionInfo> {
479459public:
480460 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);
483462 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);
487465 return {CtxID, ContextKind, NameID};
488466 }
489467
@@ -505,8 +483,7 @@ class EnumConstantTableInfo
505483 EnumConstantInfo> {
506484public:
507485 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);
510487 return NameID;
511488 }
512489
@@ -527,13 +504,11 @@ class TagTableInfo
527504 : public VersionedTableInfo<TagTableInfo, ContextTableKey, TagInfo> {
528505public:
529506 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);
532508 auto ContextKind =
533- endian::readNext<uint8_t , llvm::endianness::little, unaligned >(Data);
509+ endian::readNext<uint8_t , llvm::endianness::little>(Data);
534510 auto NameID =
535- endian::readNext<IdentifierID, llvm::endianness::little, unaligned>(
536- Data);
511+ endian::readNext<IdentifierID, llvm::endianness::little>(Data);
537512 return {CtxID, ContextKind, NameID};
538513 }
539514
@@ -553,21 +528,21 @@ class TagTableInfo
553528 static_cast <EnumExtensibilityKind>((Payload & 0x3 ) - 1 );
554529
555530 unsigned ImportAsLength =
556- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
531+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
557532 if (ImportAsLength > 0 ) {
558533 Info.SwiftImportAs =
559534 std::string (reinterpret_cast <const char *>(Data), ImportAsLength - 1 );
560535 Data += ImportAsLength - 1 ;
561536 }
562537 unsigned RetainOpLength =
563- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
538+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
564539 if (RetainOpLength > 0 ) {
565540 Info.SwiftRetainOp =
566541 std::string (reinterpret_cast <const char *>(Data), RetainOpLength - 1 );
567542 Data += RetainOpLength - 1 ;
568543 }
569544 unsigned ReleaseOpLength =
570- endian::readNext<uint16_t , llvm::endianness::little, unaligned >(Data);
545+ endian::readNext<uint16_t , llvm::endianness::little>(Data);
571546 if (ReleaseOpLength > 0 ) {
572547 Info.SwiftReleaseOp = std::string (reinterpret_cast <const char *>(Data),
573548 ReleaseOpLength - 1 );
@@ -585,13 +560,11 @@ class TypedefTableInfo
585560 TypedefInfo> {
586561public:
587562 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);
590564 auto ContextKind =
591- endian::readNext<uint8_t , llvm::endianness::little, unaligned >(Data);
565+ endian::readNext<uint8_t , llvm::endianness::little>(Data);
592566 auto nameID =
593- endian::readNext<IdentifierID, llvm::endianness::little, unaligned>(
594- Data);
567+ endian::readNext<IdentifierID, llvm::endianness::little>(Data);
595568 return {CtxID, ContextKind, nameID};
596569 }
597570
0 commit comments