Lines Matching refs:pType

255 static size_t zDeserializeTypeWidth(struct CTypeDescriptor *pType);
258 static void DeserializeUINT128(char *pBuffer, size_t zBUfferLength, struct CTypeDescriptor *pType, __uint128_t U128);
260 static void DeserializeNumberSigned(char *pBuffer, size_t zBUfferLength, struct CTypeDescriptor *pType, longest L);
261 static void DeserializeNumberUnsigned(char *pBuffer, size_t zBUfferLength, struct CTypeDescriptor *pType, ulongest L);
263 static void DeserializeFloatOverPointer(char *pBuffer, size_t zBUfferLength, struct CTypeDescriptor *pType, unsigned long *pNumber);
264 static void DeserializeFloatInlined(char *pBuffer, size_t zBUfferLength, struct CTypeDescriptor *pType, unsigned long ulNumber);
266 static longest llliGetNumber(char *szLocation, struct CTypeDescriptor *pType, unsigned long ulNumber);
267 static ulongest llluGetNumber(char *szLocation, struct CTypeDescriptor *pType, unsigned long ulNumber);
269 static void DeserializeNumberFloat(char *szLocation, char *pBuffer, size_t zBUfferLength, struct CTypeDescriptor *pType, unsigned long ulNumber);
271 static void DeserializeNumber(char *szLocation, char *pBuffer, size_t zBUfferLength, struct CTypeDescriptor *pType, unsigned long ulNumber);
275 static bool isNegativeNumber(char *szLocation, struct CTypeDescriptor *pType, unsigned long ulNumber);
276 static bool isShiftExponentTooLarge(char *szLocation, struct CTypeDescriptor *pType, unsigned long ulNumber, size_t zWidth);
1290 zDeserializeTypeWidth(struct CTypeDescriptor *pType)
1294 ASSERT(pType);
1296 switch (pType->mTypeKind) {
1298 zWidth = __BIT(__SHIFTOUT(pType->mTypeInfo, ~NUMBER_SIGNED_BIT));
1301 zWidth = pType->mTypeInfo;
1304 Report(true, "UBSan: Unknown variable type %#04" PRIx16 "\n", pType->mTypeKind);
1326 DeserializeUINT128(char *pBuffer, size_t zBUfferLength, struct CTypeDescriptor *pType, __uint128_t U128)
1348 DeserializeNumberSigned(char *pBuffer, size_t zBUfferLength, struct CTypeDescriptor *pType, longest L)
1353 ASSERT(pType);
1354 ASSERT(ISSET(pType->mTypeInfo, NUMBER_SIGNED_BIT));
1356 switch (zDeserializeTypeWidth(pType)) {
1362 DeserializeUINT128(pBuffer, zBUfferLength, pType, STATIC_CAST(__uint128_t, L));
1375 DeserializeNumberUnsigned(char *pBuffer, size_t zBUfferLength, struct CTypeDescriptor *pType, ulongest L)
1380 ASSERT(pType);
1381 ASSERT(!ISSET(pType->mTypeInfo, NUMBER_SIGNED_BIT));
1383 switch (zDeserializeTypeWidth(pType)) {
1389 DeserializeUINT128(pBuffer, zBUfferLength, pType, STATIC_CAST(__uint128_t, L));
1403 DeserializeFloatOverPointer(char *pBuffer, size_t zBUfferLength, struct CTypeDescriptor *pType, unsigned long *pNumber)
1412 ASSERT(pType);
1417 ASSERT((sizeof(*pNumber) * CHAR_BIT < WIDTH_64) || (zDeserializeTypeWidth(pType) >= WIDTH_64));
1423 switch (zDeserializeTypeWidth(pType)) {
1440 DeserializeFloatInlined(char *pBuffer, size_t zBUfferLength, struct CTypeDescriptor *pType, unsigned long ulNumber)
1448 ASSERT(pType);
1452 switch (zDeserializeTypeWidth(pType)) {
1475 llliGetNumber(char *szLocation, struct CTypeDescriptor *pType, unsigned long ulNumber)
1481 ASSERT(pType);
1483 zNumberWidth = zDeserializeTypeWidth(pType);
1518 llluGetNumber(char *szLocation, struct CTypeDescriptor *pType, unsigned long ulNumber)
1523 ASSERT(pType);
1525 zNumberWidth = zDeserializeTypeWidth(pType);
1558 DeserializeNumberFloat(char *szLocation, char *pBuffer, size_t zBUfferLength, struct CTypeDescriptor *pType, unsigned long ulNumber)
1565 ASSERT(pType);
1566 ASSERT(pType->mTypeKind == KIND_FLOAT);
1568 zNumberWidth = zDeserializeTypeWidth(pType);
1577 DeserializeFloatOverPointer(pBuffer, zBUfferLength, pType, REINTERPRET_CAST(unsigned long *, ulNumber));
1582 DeserializeFloatOverPointer(pBuffer, zBUfferLength, pType, REINTERPRET_CAST(unsigned long *, ulNumber));
1587 DeserializeFloatInlined(pBuffer, zBUfferLength, pType, ulNumber);
1594 DeserializeNumber(char *szLocation, char *pBuffer, size_t zBUfferLength, struct CTypeDescriptor *pType, unsigned long ulNumber)
1600 ASSERT(pType);
1602 switch(pType->mTypeKind) {
1604 if (ISSET(pType->mTypeInfo, NUMBER_SIGNED_BIT)) {
1605 longest L = llliGetNumber(szLocation, pType, ulNumber);
1606 DeserializeNumberSigned(pBuffer, zBUfferLength, pType, L);
1608 ulongest UL = llluGetNumber(szLocation, pType, ulNumber);
1609 DeserializeNumberUnsigned(pBuffer, zBUfferLength, pType, UL);
1617 DeserializeNumberFloat(szLocation, pBuffer, zBUfferLength, pType, ulNumber);
1682 isNegativeNumber(char *szLocation, struct CTypeDescriptor *pType, unsigned long ulNumber)
1686 ASSERT(pType);
1687 ASSERT(pType->mTypeKind == KIND_INTEGER);
1689 if (!ISSET(pType->mTypeInfo, NUMBER_SIGNED_BIT))
1692 return llliGetNumber(szLocation, pType, ulNumber) < 0;
1696 isShiftExponentTooLarge(char *szLocation, struct CTypeDescriptor *pType, unsigned long ulNumber, size_t zWidth)
1700 ASSERT(pType);
1701 ASSERT(pType->mTypeKind == KIND_INTEGER);
1703 return llluGetNumber(szLocation, pType, ulNumber) >= zWidth;